본문 바로가기
넓고 얕은 데이터베이스 지식/SQL

SQL - JOIN(INNER, LEFT RIGHT OUTER, FULL)

by 팡펑퐁 2023. 4. 27.
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

'넓고 얕은 데이터베이스 지식 > SQL' 카테고리의 다른 글

SQL - GROUP BY, HAVING  (0) 2023.04.28
SQL - UNION  (0) 2023.04.27
SQL - BETWEEN  (0) 2023.04.27
SQL - IN  (0) 2023.04.27
SQL - LIKE  (0) 2023.04.27