모두CBT

'갑' 테이블의 속성 A가 1, 2, 3, 4, 5의 도메인을 가지고 … | [컴퓨터활용능력 1급 필기] 16년 2회차 기출문제 상세 페이지

1[컴퓨터활용능력 1급 필기] 16년 2회차
'갑' 테이블의 속성 A가 1, 2, 3, 4, 5의 도메인을 가지고 있고, '을' 테이블의 속성 A가 0, 2, 3, 4, 6의 도메인을 가지고 있다고 가정할 때 다음 SQL구문의 실행 결과는?

SELECT A FROM 갑 UNION SELECT A FROM 을;

1
2, 3, 4
2
0, 1, 2, 3, 4, 5, 6
3
1, 5, 6
4
0
해설

제시된 SQL은 SELECT A FROM 갑 UNION SELECT A FROM 을; 로, 두 SELECT 결과를 합집합으로 묶는 질의다.

'갑'의 A는 1, 2, 3, 4, 5이고 '을'의 A는 0, 2, 3, 4, 6이므로 두 집합을 합치면 0, 1, 2, 3, 4, 5, 6이 된다. UNION은 중복 행을 제거하므로 양쪽에 모두 들어 있는 2, 3, 4도 한 번씩만 표시된다.

비교해서 정리해 두면, 중복까지 그대로 남기려면 UNION ALL, 두 테이블에 공통으로 있는 값(2, 3, 4)만 구하려면 INTERSECT, 한쪽에만 있는 값(1, 5)을 구하려면 EXCEPT(MINUS)를 쓴다. UNION을 쓰려면 양쪽 SELECT의 열 개수와 데이터 형식이 서로 같아야 한다는 조건도 함께 기억한다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.