넓고 얕은 데이터베이스 지식/SQL
SQL - JOIN(INNER, LEFT RIGHT OUTER, FULL)
팡펑퐁
2023. 4. 27. 21:23
728x90
JOIN
두 개 이상의 테이블 사이에 관련된 열을 기반으로 행을 결합하는 데 사용한다.
Orders
OrderID | CustomerID | OrderDate |
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
Customers
CustomerID | ustomerName | ContactName | Country |
1 | Alfreds Futterkiste | Maria Anders | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mexico |
- "Orders" 테이블의 "CustomerID" 열은 "Customers" 텡블의 "CustomerID"를 참조한다. 위 두 테이블 간의 관계는 "CustomerID"열을 통해 이루어진다.
-- INNER JOIN으로 조인하기
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
결과
OrderID | CustomerName | OrderDate |
10308 | Ana Trujillo Emparedados y helados | 9/18/1996 |
다양한 유형의 SQL JOIN
(INNER) JOIN
- 두 테이블에서 공통으로 일치하는 (값이 있는) 레코드를 반환한다.
LEFT (OUTER) JOIN
- 왼쪽 테이블의 모든 레코드와 오른쪽 테이블의 일치하는 레코드를 반환한다.
RIGHT (OUTER) JOIN
- 오른쪽 테이블의 모든 레코드와 왼쪽 에티블의 일치하는 레코드를 반환한다.
FULL OUTER JOIN
- 왼쪽 오른쪽의 모든 레코드를 반환한다.
728x90