SQLDSQL 활용난이도 4MCQ

SQLD SQL 활용 기출문제 #1386

문제

다음 두 SQL의 실행 결과와 성능 특성에 대한 설명으로 가장 적절한 것은?

SQL
-- SQL A SELECT emp_id, name FROM employees EXCEPT SELECT emp_id, name FROM terminated_employees; -- SQL B SELECT emp_id, name FROM employees WHERE (emp_id, name) NOT IN ( SELECT emp_id, name FROM terminated_employees WHERE emp_id IS NOT NULL AND name IS NOT NULL );

① SQL A와 SQL B는 항상 동일한 결과를 반환하며, 성능도 동일하다 ② SQL A는 중복 제거 정렬이 발생하고, SQL B는 중복을 유지하며 NULL 처리에 주의해야 한다 ③ SQL A는 해시 조인을 사용하고, SQL B는 중첩 루프 조인을 사용한다 ④ SQL A는 첫 번째 집합에서 중복을 먼저 제거한 후 차집합 연산을 수행한다

정답

2

해설

EXCEPT는 표준 SQL의 차집합 연산으로 중복을 자동으로 제거하며 정렬이 발생합니다. NOT IN을 사용한 SQL B는 원본 데이터의 중복을 그대로 유지하며, NULL 값이 있을 경우 예상과 다른 결과가 나올 수 있어 WHERE 절에서 NULL 체크가 필요합니다. 두 SQL은 서로 다른 접근 방식으로 차집합을 구현하며 성능과 결과가 다를 수 있습니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] SQL 활용 기출 #1386 | sqldpass