[SQL] join의 on과 where 차이

qwe8851·2022년 8월 14일
0

🗄️ DB

목록 보기
6/9

출처 : https://steadiness-193.tistory.com/248

SQL문 순서

FROM → ON → JOIN → WHERE
  • ON : JOIN이 실행되기
  • WHERE : JOIN이 실행된

ON


JOIN에 우선 이름으로 테이블을 연결한 뒤
AND t.2몸무게 = 50 이라는 조건을 걸어주었다.

ON은 JOIN이 되기 전에 실행되므로 1번과 3번의 LEFT JOIN이 된 것 처럼 보인다.

나머지 B, C의 몸무게는 NULL값을 가지게 된다




d

WHERE

WHERE은 JOIN이 실행 된 후 적용됨.

우선 가운데 회색 테이블은
이름을 기준으로 t1과 t2를 JOIN한 것.

여기서 WHERE조건을 t2의 몸무게가 50인 데이터만 필터링을 거치면
결과적으로 맨 오른쪽의 하나의 행만 있는 테이블이 보여지게 된다.

결과 비교

활용

ON


어떤 고객이 여행지를 국외로 떠났는지 파악하기 위해 ON조건을 사용햇다.

그럼 모든 고객의 데이터와 함께 해당 고객이 국외로 갔는지(유무)에 대한 정보를 가져올 수 있다.

WHERE

반대로 WHERE절은 국외로 여행을 간 고객들만남겨지게 된다.

원하는 결과에 따라 적절한 조건을 사용하면 되겠다 .





#Summary

on

  • join 실행 전
  • left조인된 것 처럼 보임

where

  • join 실행 후
profile
FrontEnd Developer with React, TypeScript

0개의 댓글