본문 바로가기
DB/SQL

[SQL] join 에서 조건을 걸때 on 과 where 차이점

by 키세스라고 2023. 3. 13.

JOIN 을 사용할 때 ON 이나 WHERE 로 조건을 건다.

외부적으로는 차이가 없어 보이지만, 내부적으로는 차이가 있다.

 

-- WHERE
select *
from employee e, dept d
where e.dept_id = d.dept_id
	and e.id = '1'
    
-- ON
select *
from employee e join dept d
	on e.dept_id = d.dept_id
	and e.id = '1'

 

WHERE 사용

=> JOIN 을 실시하고 e.id = '1' row 를 찾느다.

 

ON  사용

=> e.id = '1' 인 row 를 뽑고나서 JOIN 을 실시한다.

 

==> ON 을 사용하면 조건을 건 데이터를 가지고 JOIN 을 실시하고 때문에 조금 더 빠르다.

 

댓글