..

Search

30) UNION

UNION


UNION

UNION은 여러 개의 SELECT 문의 결과를 하나의 테이블이나 결과 집합으로 표현할 때 사용합니다.

이때 각각의 SELECT 문으로 선택된 필드의 개수와 타입은 모두 같아야 하며, 필드의 순서 또한 같아야 합니다.

 

SELECT 문에 UNION을 적용하는 문법은 다음과 같습니다.

문법

SELECT

FROM

UNION

SELECT

FROM 이름

 

다음 예제는 두 SELECT 문의 결과를 UNION을 이용하여 하나의 테이블로 출력하는 예제입니다.

예제

SELECT Name

FROM Reservation

UNION

SELECT Name

FROM Customer;

코딩연습 ▶

실행 결과

 

위의 예제에서 두 SELECT 문의 결과는 하나로 합쳐져서 출력됩니다.

이때 두 SELECT 문의 결과에서 중복된 레코드인 '홍길동'은 한 번만 표시합니다.

 

MySQL 수업 예제에서 사용되는 Reservation 테이블과 Customer 테이블은 다음과 같습니다.


UNION ALL

위의 예제처럼 UNION은 DISTINCT 키워드를 따로 명시하지 않아도 기본적으로 중복되는 레코드를 제거합니다.

따라서 이렇게 중복되는 레코드까지 모두 출력하고 싶다면, ALL 키워드를 사용해야 합니다.

문법

SELECT

FROM

UNION ALL

SELECT

FROM

 

다음 예제는 두 SELECT 문의 결과를 UNION ALL을 이용하여 하나의 테이블로 출력하는 예제입니다.

예제

SELECT Name

FROM Reservation

UNION ALL 

SELECT Name

FROM Customer;

코딩연습 ▶

실행 결과

 

위의 예제에서 두 SELECT 문의 결과는 하나로 합쳐져서 출력됩니다.

이때 두 SELECT 문의 결과는 중복된 레코드까지 모두 표시합니다.


연습문제