SQL 조인 키워드
내부 조인
이 INNER JOIN
명령은 두 테이블에서 일치하는 값이 있는 행을 반환합니다.
다음 SQL은 고객 정보가 있는 모든 주문을 선택합니다.
예시
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN
Customers ON Orders.CustomerID = Customers.CustomerID;
참고: INNER JOIN 키워드는 열 간에 일치 항목이 있는 한 두 테이블의 모든 행을 선택합니다. "고객"과 일치하지 않는 "주문" 테이블의 레코드가 있는 경우 이러한 주문은 표시되지 않습니다!
다음 SQL 문은 고객 및 배송업체 정보가 있는 모든 주문을 선택합니다.
예시
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM
((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);
왼쪽 조인
이 LEFT JOIN
명령은 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환합니다. 일치하는 항목이 없으면 결과는 오른쪽에서 NULL입니다.
다음 SQL은 모든 고객과 고객이 가질 수 있는 모든 주문을 선택합니다.
예시
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
참고:LEFT JOIN
키워드는 오른쪽 테이블(Orders)에 일치하는 항목이 없더라도 왼쪽 테이블(Customers)의 모든 레코드를 반환합니다 .
오른쪽 조인
이 RIGHT JOIN
명령은 오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 레코드를 반환합니다. 일치하는 항목이 없는 경우 결과는 왼쪽부터 NULL입니다.
다음 SQL은 모든 직원과 직원이 내린 모든 주문을 반환합니다.
예시
SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;
참고:RIGHT JOIN
키워드는 왼쪽 테이블(Orders)에 일치 항목이 없더라도 오른쪽 테이블(Employees)의 모든 레코드를 반환합니다 .
전체 외부 조인
이 FULL OUTER JOIN
명령은 왼쪽 테이블이나 오른쪽 테이블에 일치하는 항목이 있는 경우 모든 행을 반환합니다.
다음 SQL 문은 모든 고객과 모든 주문을 선택합니다.
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
참고:FULL OUTER JOIN
키워드는 왼쪽 테이블(Customers)의 모든 행과 오른쪽 테이블(Orders)의 모든 행을 반환합니다 . "주문"에 일치하지 않는 행이 "고객"에 있거나 "고객"에 일치하지 않는 행이 "주문"에 있는 경우 해당 행도 나열됩니다.