본문 바로가기
IT/SQL

[SQL] - SELECT문 OUTER JOIN에서 조건절 ON, WHERE 차이

by 차이나는 개발자 2021. 1. 26.
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
반응형

댓글