모던지
SQL 개발자 (SQLD) / 02 SQL기본및활용

서브쿼리 결과에 NULL이 포함될 수 있는 상황에서 부정 조건을 쓸 때 NOT EXISTS가 NOT IN보다 안전한 이유는?

  1. NOT EXISTS는 값을 비교하지 않고 행의 존재만 판정하기 때문이다
  2. NOT IN은 표준 SQL이 아니기 때문이다
  3. NOT EXISTS가 서브쿼리를 한 번만 실행하기 때문이다
  4. NOT EXISTS가 NULL을 0으로 치환해 비교하기 때문이다
정답과 해설 보기

1. NOT EXISTS는 값을 비교하지 않고 행의 존재만 판정하기 때문이다

NOT IN은 각 값과의 비교를 AND로 이어 붙이므로 NULL이 끼면 참이 될 수 없습니다. NOT EXISTS는 값을 보지 않고 조건에 맞는 행이 있는지만 확인하므로 NULL의 영향을 받지 않습니다.

풀이 화면에서 풀기 강의 읽기

모던지가 직접 쓴 문항입니다. 시행기관과 관계가 없습니다.