문제
다음 SQL에서 최종 결과 컬럼명으로 가장 적절한 것은?
SQLSELECT COL1 AS AAB, COL2 AS BBA FROM T1 UNION ALL SELECT COL1 AS BBA, COL2 AS AAB FROM T2;
① AAB, BBA ② BBA, AAB ③ COL1, COL2 ④ 첫 번째 행의 데이터 값에 따라 달라진다.
정답
1번
해설
정답: 1. 집합 연산자의 결과 컬럼명은 첫 번째 SELECT 문의 컬럼명 또는 별칭을 따른다.
오답 풀이
- 1번: 첫 번째 SELECT의 별칭이 결과 컬럼명이 된다.
- 2번: 두 번째 SELECT의 별칭은 결과 컬럼명 결정에 사용되지 않는다.
- 3번: 첫 번째 SELECT에서 별칭을 지정했으므로 COL1, COL2가 아니다.
- 4번: 데이터 값에 따라 컬럼명이 달라지지 않는다.
보충 개념 UNION, UNION ALL 등 집합 연산에서는 각 SELECT의 컬럼 개수와 타입 호환성이 중요하다. 결과 컬럼명은 첫 번째 SELECT 문 기준으로 정해진다.