ENFJ 비전공자 개발스터디
오라클 Oracle 집합 연산자 UNION INTERSECT MINUS 본문
반응형
오라클 Oracle 집합 연산자
SELECT문을 실행하면 해당 조건에 맞는 데이터가 조회된다.
집합(Set) 연산자는 이러한 데이터 집합을 대상으로 연산을 수행하는 연산자를 말하며,
여러 개의 SELECT문을 연결해 또 다른 하나의 쿼리를 만드는 역할을 한다
그 종류로는 UNION, UNION ALL, INTERSECT, MINUS가 있다.
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, '기계류');
SELECT goods
FROM exp_goods_asia
WHERE country = '한국'
UNION
SELECT goods
FROM exp_goods_asia
WHERE country = '일본';
UNION ALL 중복된 항목도 모두 조회
SELECT goods
FROM exp_goods_asia
WHERE country = '한국'
UNION ALL
SELECT goods
FROM exp_goods_asia
WHERE country = '일본';
INTERSECT 교집합 데이터 집합에서 공통된 항목만 추출
SELECT goods
FROM exp_goods_asia
WHERE country = '한국'
INTERSECT
SELECT goods
FROM exp_goods_asia
WHERE country = '일본';
MINUS 차집합 한 데이터 집합을 기준으로 다른 데이터 집합과 공통된 항목을 제외한 결과만 추출
SELECT goods
FROM exp_goods_asia
WHERE country = '한국'
MINUS
SELECT goods
FROM exp_goods_asia
WHERE country = '일본';
SELECT goods
FROM exp_goods_asia
WHERE country = '일본'
MINUS
SELECT goods
FROM exp_goods_asia
WHERE country = '한국';
반응형
'Database' 카테고리의 다른 글
오라클 Oracle ANSI 조인 (0) | 2022.01.05 |
---|---|
오라클 Oracle 조인 Join 과 서브 쿼리 SubQuery 이해 (0) | 2022.01.04 |
오라클 Oracle ROLLUP절 CUBE절 (0) | 2021.12.30 |
오라클 Oracle GROUP BY절과 HAVING절 (0) | 2021.12.29 |
오라클 Oracle 기본 집계 함수 (0) | 2021.12.29 |