SQLDSQL 활용집합연산자난이도 1MCQ

SQLD 집합연산자 기출문제 #32

문제

다음 테이블에서 A부서 직원 중 B부서에는 없는 직원명을 구하는 가장 적절한 SQL은?

[EMP] 직원명, 부서코드 홍길동, A / 김철수, A / 이영희, B / 박민수, A / 최영수, B / 김철수, B

① SELECT 직원명 FROM EMP WHERE 부서코드='A' AND 직원명 NOT IN (SELECT 직원명 FROM EMP WHERE 부서코드='B') ② SELECT 직원명 FROM EMP WHERE 부서코드='A' MINUS SELECT 직원명 FROM EMP WHERE 부서코드='B' ③ SELECT 직원명 FROM EMP WHERE 부서코드='A' INTERSECT SELECT 직원명 FROM EMP WHERE 부서코드='B' ④ SELECT 직원명 FROM EMP WHERE 부서코드='A' UNION SELECT 직원명 FROM EMP WHERE 부서코드='B'

정답

2

해설

② MINUS 연산자를 사용하여 A부서 직원에서 B부서 직원을 뺀 차집합을 구하는 것이 가장 적절합니다. 결과는 '홍길동', '박민수'입니다. ① NOT IN은 NULL 처리 문제가 있고 복잡합니다. ③ INTERSECT는 교집합으로 양쪽 부서에 모두 있는 직원을 구합니다. ④ UNION은 합집합으로 모든 직원을 구합니다.

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

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

[SQLD] 집합연산자 SQL 활용 기출 #32 | sqldpass