반응형
데이블 두개의 교집합을 해볼 것이다.
테이블 두개를 생성해보자
CREATE TABLE tblUnionA (
name varchar2(100)
);
CREATE TABLE tblUnionB (
name varchar2(100)
);
데이터를 삽입
INSERT INTO tbluniona VALUES ('사과');
INSERT INTO tbluniona VALUES ('귤');
INSERT INTO tbluniona VALUES ('파인애플');
INSERT INTO tbluniona VALUES ('바나나');
INSERT INTO tbluniona VALUES ('포도');
INSERT INTO tblunionb VALUES ('키위');
INSERT INTO tblunionb VALUES ('바나나');
INSERT INTO tblunionb VALUES ('오렌지');
INSERT INTO tblunionb VALUES ('포도');
INSERT INTO tblunionb VALUES ('복숭아');
데이터를 확인 해 보자.
SELECT * FROM tbluniona;
SELECT * FROM tblunionb;
커밋도 한번 해주자
commit;
1. 교집합(INTERSECT)
◼ 교집합은 둘다 포함된 내용만 나온다.
SELECT * FROM tbluniona INTERSECT SELECT * FROM tblunionb;
2. 차집합(MINUS)
◼ tbluniona - tblunionb 의 결과로서 a 값들에서 b값을 빼는데 공통적인 값들이 사라진 집합이다.
SELECT * FROM tbluniona MINUS SELECT * FROM tblunionb;
3. 합집합(UNION)
합집합은 중복 제거와 중복 포함출력을 할 수 있다.
◼ UNION 은 중복값을 제거하고
◼ UNION ALL 은 중복값을 포함한다.
사용할때 주의 사항으로는
1. 위 아래 테이블 컬럼수를 동일하게 선언 해 주어야 한다.
2. 컬럼 타입이 동일 하여야 한다.
SELECT * FROM tbluniona UNION SELECT * FROM tblunionb;
SELECT * FROM tbluniona UNION ALL SELECT * FROM tblunionb;
'Oracle' 카테고리의 다른 글
[Oracle] 테이블 생성 예시 (0) | 2024.08.01 |
---|---|
[Oracle] 접속, 계정 생성, Oracle SQL Developer 접속 (0) | 2024.06.28 |
[Oracle] the network adapter could not establish the connection (0) | 2024.06.28 |
[Oracle] 테이블 복사 및 문제 풀이. (0) | 2024.06.20 |