저장을 습관화

SQL - JOINS 본문

공부/데이터베이스

SQL - JOINS

ctrs 2023. 12. 8. 01:09

1. JOIN

두 개 이상의 테이블 사이의 열을 기반으로 행을 결합하는데 사용한다.

 

예시 테이블 Orders)

OrderID CustomerID OrderDate
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20

 

예시 테이블 Customers)

CustomerID CustomerName 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를 기준으로 이루어진다.

 

예시 1) CustomerID 컬럼의 값이 두 테이블에 동일하게 존재하는 레코드가 존재할때,

Orders 테이블에선 OrderID, OrderDate를, Customers 테이블에선 CustomerName을 가져오기(inner join 사용)

select Orders.OrderID, Customers.CustomerName, Orders.OrderDate
from Orders
inner join Customers
on Orders.CustomerID = Customers.CustomerID

 

이하 생략..

 

여기서 INNER JOIN 이란 '두 테이블 모두에서 일치하는 값이 있는 레코드를 반환한다.'는 의미이다.

 

이 밖에도 아래와 같은 문법이 존재한다.

LEFT JOIN(왼쪽 테이블의 모든 레코드를 반환하고, 오른쪽 테이블의 일치하는 레코드를 반환한다.)

RIGHT JOIN(오른쪽 테이블의 모든 레코드를 반환하고, 왼쪽 테이블의 일치하는 레코드를 반환한다.)

FULL JOIN(왼쪽 또는 오른쪽 테이블에 일치하는 항목이 있는 경우 모든 레코드를 반환한다.)

 

'공부 > 데이터베이스' 카테고리의 다른 글

SQL - LEFT JOIN, RIGHT JOIN  (0) 2023.12.09
SQL - INNER JOIN  (0) 2023.12.08
SQL - ANY, ALL  (0) 2023.12.07
SQL - GROUP BY, HAVING, EXISTS  (0) 2023.12.04
SQL - UNION  (0) 2023.12.03