본문 바로가기
Database

JOIN할때 ON과 WHERE 중 어디에 조건을 줘야 효과적일까? _Oracle

by Lcoding 2023. 11. 8.
반응형



Oracle 쿼리를 다루는 사람이라면 한번쯤 "JOIN할때 ON과 WHERE 중 어디에 조건을 줘야 효과적일까?" 에 대한 생각을 해보았을 것이다.

 

ANSI 표준에 따라서는 조인 조건을 ON절에 달아주고, WHERE절에는 검색조건을 달게 됩니다.

 

ON 절에 검색조건을 달아도 쿼리 실행에는 영향이 없으나, ON절에 조건을 주면 Join으로 인하여 테이블을 합칠 때 조건이 걸려서 하나의 가상테이블이 만들어집니다. 그와 반대로 WHERE절에 조건이 걸리면, 다 만들어진 테이블을 다시 훑으면서 해당 조건에 맞는 결과물을 반환하는 게 되기에 두번 일하는 것처럼 동작합니다.


결과적으로 ON절에 거는게 더 효과적이라고 볼 수 있습니다.

반응형

'Database' 카테고리의 다른 글

Commit, Rollback, Savepoint  (0) 2023.11.08
BOOLEAN의 표현 in Oracle  (0) 2023.11.08
ORA-04031 in Oracle Error  (0) 2023.11.08
EXISTS와 IN의 차이_Oracle  (0) 2023.11.07
Oracle Comment 설정  (0) 2023.11.07

loading