테이블 R과 S에 대한 SQL에 대한 SQL문이 실행되었을 때, 실행결… | 22년-1회차-정보처리기사-필기 기출문제 상세 페이지
122년-1회차-정보처리기사-필기
테이블 R과 S에 대한 SQL에 대한 SQL문이 실행되었을 때, 실행결과로 옳은 것은?
R
| A | B |
|---|---|
| 1 | A |
| 3 | B |
S
| A | B |
|---|---|
| 1 | A |
| 2 | B |
SELECT A FROM R
UNION ALL
SELECT A FROM S;
1
2
3
4
해설
UNION ALL은 중복을 제거하지 않고 두 질의 결과를 그대로 이어 붙이므로, 결과는 A열에 1, 3, 1, 2가 차례로 담긴 4행짜리 릴레이션이다.
R의 A열 값은 1과 3, S의 A열 값은 1과 2다. 앞의 질의가 (1, 3)을 내놓고 뒤의 질의가 (1, 2)를 내놓은 뒤, 두 결과가 순서대로 결합된다.
같은 질의를 UNION으로 바꾸면 중복된 1이 하나로 합쳐져 1, 3, 2의 3행이 된다. 두 연산자의 차이가 곧 행 수의 차이로 나타나므로, 중복 제거 여부를 먼저 확인하는 것이 판단의 출발점이다.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.
