IT/SQL
[SQL] - SELECT문 OUTER JOIN에서 조건절 ON, WHERE 차이
차이나는 개발자
2021. 1. 26. 21:58
728x90
반응형
#SELECT문 OUTER JOIN에서 조건절 ON, WHERE 차이
#OUTER JOIN시 ON절에는 우측(널값으로 채워지는 쪽)의 추가 제약조건을 넣고
WHERE절에는 좌측의 추가 제약조건을 넣어야 합니다.
#ON
JOIN을 하기전에 필터링을 합니다. (=ON 조건으로 필터링이 된 레코들간 JOIN이 이루어집니다.)
WHERE : JOIN을 한 후 필터링을 합니다. (=JOIN을 한 결과에서 WHERE 조건절로 필터링이 이루어집니다.)
1. 정상적인 데이터
SELECT *
FROM A LEFT OUTER JOIN B
ON A.ID = B.ID
AND B.CODE = 'BLUE'
WHERE A.ID = 'JEFF';
2. 비정상적인 데이터
SELECT *
FROM A LEFT OUTER JOIN B
WHERE A.ID = 'JEFF'
AND B.CODE = 'BLUE';
#SQL 동작 순서 참고
FROM - ON - JOIN - WHERE ~~~
728x90
반응형