본문 바로가기
면접 준비

CS공부 ) 데이터베이스

by jennyiscoding 2025. 3. 24.

SQL에서 조인(Join)의 종류와 각각의 특징은?

SQL에서 JOIN은 두 개 이상의 테이블을 연결하여 데이터를 조회하는 기능

 

1. INNER JOIN

아래 예에서, Categories테이블과 Products테이블을 합치는데, Products테이블에 Categories id가 포함되어있다. 그렇기 때문에 제품 테이블에 카테고리 테이블을 inner join하는 것이다. 만약 Product테이블에 Category가 적혀있지 않다면 inner join에서는 나오지 않는다. 

SELECT ProductID, ProductName, CategoryName
FROM Products
INNER JOIN Categories ON Products.CategoryID = Categories.CategoryID;

 

2. LEFT JOIN

왼쪽 테이블은 FROM 절에 나오는 테이블로 고객 테이블이다. 왼쪽 테이블의 모든 행을 유지한다. 오른쪽 테이블에 일치하는 데이터가 없으면 NULL 반환한다. 같은 고객이 다른 제품을 주문했다면 고객row가 두개 생기고 각각 다른 제품 data가 오른쪽에 온다. 

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;

 

3. RIGHT JOIN

왼쪽 테이블은 FROM 절에 나오는 테이블로 주문 테이블이다. 모든 직원 테이블을 유지한다. 주문한 적이 없는 직원이면 주문 부분은 null로 나온다. 

SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees
ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;

 

4. FULL JOIN

왼쪽과 오른쪽 모든 테이블을 포함시킨다. 

SELECT A.name, B.department
FROM employees A
FULL JOIN departments B ON A.dept_id = B.dept_id;

 

 

'면접 준비' 카테고리의 다른 글

CS공부 ) 컴파일러  (0) 2025.03.25
CS공부 ) 데이터베이스 설계  (0) 2025.03.25
CS공부 ) 네트워크  (0) 2025.03.25
CS공부 ) 운영체제  (0) 2025.03.24
CS공부 ) 자료구조와 알고리즘  (0) 2025.03.24