DBMS/SQL

[SQL] JOIN 연결 (INNER, OUTER, LEFT, RIGHT)

code-mo 2023. 1. 22. 07:30
728x90

JOIN 이란

1. 여러 테이블의 데이터를 하나의 구문으로 조회하는 문법
2. JOIN문법을 통해서 데이터를 연결해 조회하는데 필요한 요소는 두 가지
    연결할 테이블 명 → FROM ,
    JOIN 절 연결할 조건 → ON절
1
2
3
4
5
6
7
SELECT 
    employee_id, 
    last_name,
    emp.department_id, 
    department_name
FROM employees emp JOIN departments dept
ON emp.department_id = dept.department_id;
cs

 

INNER JOIN - 교집합

교집합을 나타낸다. 따라서 겹치지 않는 행이 존재할 경우, 그 행은 결과에서 제외된다.
1
2
3
4
SELECT Sales.*, Countries.Country
FROM Sales
(INNERJOIN Countries
ON Sales.CountryID = Countries.ID
cs

 

OUTER JOIN - 합집합

1. 합집합을 나타낸다. 따라서 겹치지 않는 행이 존재할 경우, 그 행은 결괏값은 NULL로 채워지게 된다
2. 데이블을 연결 시 기준 테이블을 정할 수 있는 LEFT, RIGHT (OUTER) JOIN이 있다.
1
2
3
4
SELECT *
FROM instructor
LEFT OUTER JOIN teaches 
ON instructor.id = teaches.id
cs

 

1
2
3
4
SELECT *
FROM instructor
RIGHT OUTER JOIN teaches 
ON instructor.id = teaches.id
cs

 

그림으로 보는 JOIN의 종류