UNION
UNON은 합집합을 의미한다. 예를 들어, 두 개의 데이터 집합이 있으면 각 집합 원소(SELECT 결과)를 모두 포함한 결과가 반환된다. 예제를 통해 알아 보자.
입력
CREATE TABLE exp_goods_asia (
country VARCHAR2(10),
seq NUMBER,
goods VARCHAR2(80));
INSERT INTO exp_goods_asia VALUES ('한국', 1, '원유제외 석유류');
INSERT INTO exp_goods_asia VALUES ('한국', 2, '자동차');
INSERT INTO exp_goods_asia VALUES ('한국', 3, '전자집적회로');
INSERT INTO exp_goods_asia VALUES ('한국', 4, '선박');
INSERT INTO exp_goods_asia VALUES ('한국', 5, 'LCD');
INSERT INTO exp_goods_asia VALUES ('한국', 6, '자동차부품');
INSERT INTO exp_goods_asia VALUES ('한국', 7, '휴대전화');
INSERT INTO exp_goods_asia VALUES ('한국', 8, '환식탄화수소');
INSERT INTO exp_goods_asia VALUES ('한국', 9, '무선송신기 디스플레이 부속품');
INSERT INTO exp_goods_asia VALUES ('한국', 10, '철 또는 비합금강');
INSERT INTO exp_goods_asia VALUES ('일본', 1, '자동차');
INSERT INTO exp_goods_asia VALUES ('일본', 2, '자동차부품');
INSERT INTO exp_goods_asia VALUES ('일본', 3, '전자집적회로');
INSERT INTO exp_goods_asia VALUES ('일본', 4, '선박');
INSERT INTO exp_goods_asia VALUES ('일본', 5, '반도체웨이퍼');
INSERT INTO exp_goods_asia VALUES ('일본', 6, '화물차');
INSERT INTO exp_goods_asia VALUES ('일본', 7, '원유제외 석유류');
INSERT INTO exp_goods_asia VALUES ('일본', 8, '건설기계');
INSERT INTO exp_goods_asia VALUES ('일본', 9, '다이오드, 트랜지스터');
INSERT INTO exp_goods_asia VALUES ('일본', 10, '기계류');
exp_goods_asia 테이블을 생성해 한국과 일본의 주요 10대 수출품을 입력했다. 다음 쿼리를 실행해 보자.
입력
SELECT goods
FROM exp_goods_asia
WHERE country = '한국'
ORDER BY seq;
결과
GOODS
------------------------------------------
원유제외 석유류
자동차
전자집적회로
선박
LCD
자동차부품
휴대전화
환식탄화수소
무선송신기 디스플레이 부속품
철 또는 비합금강
10개의 행이 선택됨.
입력
SELECT goods
FROM exp_goods_asia
WHERE country = '일본'
ORDER BY seq;
결과
GOODS
---------------------------
자동차
자동차부품
전자집적회로
선박
반도체웨이퍼
화물차
원유제외 석유류
건설기계
다이오드, 트랜지스터
기계류
10개의 행이 선택됨.
위는 한국과 일본의 수출품을 조회한 쿼리다. 그 결과로 각각 하나의 데이터 집합을 반환했다. 국가에 상관없이 모든 수출품을 조회하는데, 단 자동차나 선박과 같이 두 국가가 겹치는 수출품목은 한 번만 조회되도록 하려면 UNION(합집합 개념)을 사용한다.
입력
SELECT goods
FROM exp_goods_asia
WHERE country = '한국'
UNION
SELECT goods
FROM exp_goods_asia
WHERE country = '일본';
결과
GOODS
----------------------------------------
LCD
건설기계
기계류
다이오드, 트랜지스터
무선송신기 디스플레이 부속품
반도체웨이퍼
선박
원유제외 석유류
자동차
자동차부품
전자집적회로
철 또는 비합금강
화물차
환식탄화수소
휴대전화
15개의 행이 선택됨
exp_goods_asia 테이블에는 한국, 일본별로 수출품이 10개씩 총 20건이 등록되어 있는데, 자동차나 선박 등 겹쳐 있는 5개 품목은 단 한 번만 조회되었다. 즉 합집합 개념이 적용되어 데이터가 추출되었다.