문제
다음 SQL의 최종 결과 행수는?
[테이블 A] ID: 1,2,3,4 [테이블 B] ID: 2,3,4,5 [테이블 C] ID: 3,4,5,6
SQLSELECT ID FROM A UNION ALL SELECT ID FROM B INTERSECT SELECT ID FROM C;
① 6건 ② 7건 ③ 8건 ④ 9건
정답
2번
해설
집합 연산자의 우선순위에 따라 INTERSECT가 먼저 처리됩니다. 단계별 계산: 1) B INTERSECT C = {2,3,4,5} ∩ {3,4,5,6} = {3,4,5} (3건) 2) A UNION ALL (B INTERSECT C) = {1,2,3,4} ∪ {3,4,5} = {1,2,3,4,3,4,5} (7건, UNION ALL은 중복 제거하지 않음). ① 오답: UNION으로 중복제거했을 경우입니다. ③ 오답: 단순 합계 계산입니다. ④ 오답: 우선순위를 고려하지 않았습니다.