SQLD(SQL 개발자) 기출 · 단일행 함수
아래 ERD를 참고하고, ORDERS.PROMOTION_ID는 NULL이 가능하다고 가정할 때 다음 SQL 중 실행 결과가 다른 하나는?

본문)구매 이력은 ORDERS 테이블의 행 존재 여부로 판단한다.
이 문제 풀어보기
정답 및 해설 보기
정답: 3번
정답은 3번이다. 1번, 2번, 4번은 모두 ORDERS에 해당 CUSTOMER_ID의 주문 행이 하나라도 존재하면 조회된다. 반면 3번은 HAVING COUNT(O.PROMOTION_ID) >= 1 조건을 사용하므로 PROMOTION_ID가 NULL인 주문은 집계에서 제외된다. 따라서 주문은 있지만 PROMOTION_ID가 모두 NULL인 고객은 1번, 2번, 4번에는 포함되고 3번에는 포함되지 않아 결과가 달라진다.