[SQL 기초] Outer Join
![[SQL 기초] Outer Join](/content/images/size/w1200/2025/01/outer-join.png)
주요 사용 예시: 누락된 데이터 찾기
<고객 정보>
고객, 주문번호
홍길동, 주문2
강감찬, 주문1
세종대왕, NULL
<주문 정보>
주문번호, 메뉴
주문1, 돈가스
주문2, 짬뽕
주문3, NULL
LEFT OUTER JOIN
고객 데이터를 모두 가져오고 주문이 없으면 비어있는 값으로 가져오기
SELECT A.고객, B.메뉴
FROM 고객정보 A, 주문정보 B
WHERE A.주문번호(+) = B.주문번호 -- 오라클 DB SQL
SELECT 고객정보.고객, 주문정보.메뉴
FROM 고객정보
LEFT OUTER JOIN 주문정보
ON 고객정보.주문번호 = 주문정보.주문번호 -- 표준 SQL
RIGHT OUTER JOIN
주문 데이터를 모두 가져오고 고객 데이터가 없으면 비어있는 값으로 가져오기
SELECT A.고객, B.메뉴
FROM 고객정보 A, 주문정보 B
WHERE A.주문번호 = B.주문번호(+) -- 오라클 DB SQL
SELECT 주문정보.메뉴, 고객정보.고객
FROM 주문정보
RIGHT OUTER JOIN 고객정보
ON 주문정보.주문번호 = 고객정보.주문번호 -- 표준 SQL
FULL OUTER JOIN
사용을 권장하지 않음. 성능 이슈