문제
다음 SQL의 실행 결과로 가장 적절한 것은?
테이블 T1 (ID, NAME): (1,'A'), (2,'B'), (3,'C') 테이블 T2 (ID, NAME): (2,'X'), (3,'Y'), (4,'Z')
SQLSELECT ID FROM T1 EXCEPT SELECT ID FROM T2 UNION SELECT ID FROM T2 WHERE ID > 3;
① 1, 4 ② 1 ③ 4 ④ 1, 2, 3, 4
정답
1번
해설
집합연산자는 위에서 아래로 동일한 우선순위로 실행됩니다. 먼저 T1 EXCEPT T2는 T1에만 있는 ID=1을 반환합니다. 다음으로 T2에서 ID>3인 것은 ID=4입니다. 마지막으로 {1} UNION {4} = {1,4}가 됩니다. ②는 EXCEPT 결과만 고려한 것이고, ③은 마지막 조건만 고려한 것이며, ④는 모든 값을 단순 합친 것입니다.