본문 바로가기

SQL/오늘의 실수

SQL | JOIN - WHERE절의 위치에 따라 바뀌는 것

1. SQL- JOIN

 

① 문제
인라인 뷰 서브 쿼리 안 WHERE절에서 보너스 1000 미만인 조건을 주고 레프트 조인을 했다. 보너스를 2000이나 받는 토마스도 결과에 포함됐다. 




② 원인
Bonus 테이블에서 걸러졌던 보너스 1000 이상 직원들이 레프트 조인을 하는 과정에서 Null 값 처리되어 결과에 다시 등장했다. 



③ 해결
Bonus 테이블과 Employee 테이블을 조인한 후 출력될 결과에 조건절을 주어야 정답이 조회된다. 


만약 Bonus 테이블에 Null 값도 포함됐다면 원래 내가 작성한 쿼리도 답이 될 수 있었을 것이다.