더북(TheBook)

코드 8-21을 실행하면 오류가 납니다. 오류 메시지에 “The used SELECT statements have a different number of columns”라고 나왔네요. 이는 SELECT 문장에서 조회하는 칼럼 수가 달라서 발생한 오류입니다. 첫 번째 SELECT 문에서는 col1, col2를 명시했지만, 두 번째 SELECT 문에서는 col1만 명시했기 때문이죠. UNION 절을 사용할 때는 연결되는 SELECT 문에 반드시 동일한 수의 칼럼을 명시해야 합니다.

코드 8-22

SELECT col1 FROM tbl1
 UNION ALL
SELECT col1 FROM tbl2;

실행결과

코드 8-22는 코드 8-19에서 UNION 대신 UNION ALL을 사용했습니다. UNION을 사용하면 중복을 제거하지만, UNION ALL을 사용하면 전체 데이터를 조회합니다. 따라서 결과로 총 5건이 조회됐습니다.

코드 8-23

SELECT col1, col2 FROM tbl1
 ORDER BY 1 DESC
 UNION
SELECT col1, col2 FROM tbl2;

실행결과

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.