JOIN에 대한 이해(+ON, WHERE 차이)

이창범·2022년 10월 25일
0

데이터베이스

목록 보기
2/4

다음 예제를 보면서 이해를 하자.

1) SELECT *
FROM TB_EL1004D A
LEFT JOIN TB_EL1001M B
ON A.ID =B.ID
AND A.ID ='사장'

2) SELECT *
FROM TB_EL1004D A
LEFT JOIN TB_EL1001M B
ON A.ID =B.ID
WHERE A.ID ='사장'

이 두 문장의 차이점은 무엇일까?

1)은 ON절에 AND가 있으므로 A테이블중 A.ID가 사장인 경우와 B테이블을 LEFT JOIN해서 가져온다.

즉, A의 모든 정보를 가져오며 그 중 ON 조건에 맞는 것만 B테이블의 정보를 JOIN해서 가져온다. (해당되지 않는 행들의 B테이블 정보는 전부 NULL로 가져온다.)

2)는 A테이블과 B테이블을 LEFT JOIN한 후 A.ID가 사장인 애만 골라서 온다.

profile
나는 지상 최고의 개발자다

0개의 댓글

관련 채용 정보