더북(TheBook)

쿼리 8-5에서 첫 번째 SELECT 문장의 맨 마지막 컬럼은 age로 숫자형인데, 두 번째 문장에서는 ‘A’라는 문자형 데이터를 명시했기 때문에 데이터형이 다르다는 오류가 발생했습니다.

UNION ALL 연산자를 사용하면 서로 다른 테이블에 있는 데이터를 하나의 SELECT 문장으로 조회할 수 있습니다. 이 장에서는 모든 예를 2개의 SELECT 문장으로 한정했지만, 컬럼 수와 데이터형이 일치한다면 2개뿐만 아니라 그 이상의 문장을 연결해 사용할 수 있습니다.

집합 연산자를 사용할 때 데이터 정렬은 일반 SELECT 문과 동일하게 ORDER BY 절을 사용합니다. 그런데 이는 문장 맨 끝에만 쓸 수 있습니다. 즉, UNION ALL로 연결된 문장이 2개일 경우 첫 번째 문장에서는 사용할 수 없고 두 번째 문장 끝에서 사용할 수 있죠. 이때 주의할 점은 ORDER BY 절에 컬럼 명을 기술할 때는 첫 번째 문장에서 사용한 컬럼 명을 사용해야 한다는 점입니다. 이전에 얘기했듯이 집합 연산자를 사용한 쿼리의 최종 조회 결과는 첫 번째 SELECT 문의 컬럼 명을 기준으로 조회되므로 당연한 얘기라고 할 수 있죠.

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