select columnname
from table1 T1
left outer join table2 T2 on T1.column1 = T2.column1
and T2.column2 = '2'
select columnname
from table1 T1
left outer join table2 T2 on T1.column1 = T2.column1
where T2.column2 = '2'
이 둘다 같은 쿼리인가요?
전 보통 아래처럼 사용하는데 성능이나 어느것이 효율적인지 궁금해서 여쭤봅니다
둘은 다른 쿼리입니다.
위 상단의 쿼리는
left outer join table2 T2 on T1.column1 = T2.column1
T2에 대한 조건절이 OUTER JOIN 의 ON 절에 걸려있으므로
LEFT OUTER JOIN 처리되지만
하단의 쿼리는
T2 (OUTER JOIN 되는 테이블)
의 조건을 WHERE 조건절에 사용을 한 형태라
INNER JOIN 으로 처리가 됩니다.