English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
INNER JOIN 명령어는 두 테이블에서 일치하는 값을 가진 행을 반환합니다。
以下SQL选择带有客户信息的所有订单:
SELECT Orders.OrderID, Customers.CustomerName FROM Orders INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
주의:각 열 사이에 일치하는 항목이 있으면, INNER JOIN 키워드는 두 테이블에서 모든 행을 선택합니다. '주문(Orders)' 테이블에 '고객(Customers)' 테이블과 일치하지 않는 레코드가 있으면, 이 주문은 표시되지 않습니다!
다음 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 ON Customers.CustomerID=Orders.CustomerID ORDER BY Customers.CustomerName;
주의:FULL OUTER JOIN 키워드는 모든 행을 반환합니다. 왼쪽 테이블 (고객 Customers)과 오른쪽 테이블 (주문 Orders)에서 모든 행을 포함합니다. 고객 Customers에서 일부 행이 주문 Orders에서 일치하지 않거나, 주문 Orders에서 일부 행이 고객 Customers에서 일치하지 않는 경우에도 이러한 행도 나열됩니다.