반응형
Notice
Recent Posts
Recent Comments
Link
GBEY
[SQL] LEFT OUTER JOIN이란? (= LEFT JOIN) 본문
반응형
LEFT OUTER JOIN
🎈 목차
LEFT OUTER JOIN 이란? (= LEFT JOIN)
pgAdmin에서 LEFT OUTER JOIN 연습하기
🎈 LEFT OUTER JOIN 이란? (= LEFT JOIN)
- 테이블 A 에서 데이터를 선택한다.
- 테이블 A에만 있거나 테이블 A와 B에 동시에 존재하는 데이터를 선택한다.
- 테이블 B에만 존재하는 데이터는 선택되지 않는다.
- 테이블 A에만 존재하는 데이터는 테이블 B 쪽에 null로 표시된다.
- 순서를 바꿔 쓸 수 없다!
밴다이어그램으로 나타내면?
예시로 LEFT OUTER JOIN 살펴보기
Registration | |
reg_id | name |
1 | Suzy |
2 | Amy |
3 | John |
Attendance | |
att_id | name |
1 | Amy |
2 | Peter |
3 | John |
아래 쿼리문을 실행하면?
이 때, 테이블 A = Registration, 테이블 B = Attendance
SELECT * FROM Registration
LEFT OUTER JOIN Attendance
ON Registration.name = Attendance.name;
결과:
Attendance 테이블에만 존재하는 데이터는 아예 선택되지 않았고
Registration 에만 존재하는 Suzy 는 null로 표시된 걸 볼 수 있음.
Results | |||
reg_id | name | att_id | name |
1 | Suzy | null | null |
2 | Amy | 1 | Amy |
3 | John | 3 | John |
🎈 LEFT OUTER JOIN + WHERE
WHERE문을 활용하면 테이블 A에만 고유한 항목을 구할 수 있음
쿼리문 사용법
SELECT * FROM TableA
LEFT OUTER JOIN TableB
ON TableA.col_match = TableB.col_match
WHERE TableB.id IS null;
밴다이어그램으로 보면?
아래 테이블에서 Registration 테이블에만 고유한 값을 구해보면?
Results | |||
reg_id | name | att_id | name |
1 | Suzy | null | null |
2 | Amy | 1 | Amy |
3 | John | 3 | John |
쿼리문:
SELECT * FROM Registration
LEFT OUTER JOIN Attendance
ON Registration.name = Attendance.name
WHERE Attendance.att_id IS null;
결과:
Attendance 테이블에는 없는 값인 Suzy 데이터만 선택되었음.
Results | |||
reg_id | name | att_id | name |
1 | Suzy | null | null |
🎈 pgAdmin에서 LEFT OUTER JOIN 연습하기
영화의 정보들이 있는 film 테이블과 영화 dvd 재고에 대한 정보가 있는inventory 테이블이 있을 때
inventory에 없는 영화의 목록을 알고자 함
>> film 테이블을 테이블A로 두고 LEFT JOIN 실행!
SELECT film.film_id, title, inventory_id, store_id
FROM film
LEFT JOIN inventory ON
inventory.film_id = film.film_id
WHERE inventory.film_id IS null;
output:
반응형
'데이터분석' 카테고리의 다른 글
[SQL] RIGHT OUTER JOIN 이란? (= RIGHT JOIN) (0) | 2023.08.28 |
---|---|
[SQL] FULL OUTER JOIN이란? (0) | 2023.08.25 |
[SQL] JOIN - INNER JOIN이란? (0) | 2023.08.24 |
[SQL] AS문이란? + pgAdmin에서 연습하기 (0) | 2023.08.24 |
[SQL] GROUP BY란? + pgAdmin으로 연습하기 (0) | 2023.08.24 |