일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 백준 알고리즘
- c#
- dynamic query
- 티스토리
- 프로젝트
- gradle
- 파이썬 소스
- 자바 프로젝트
- spring
- 초대장
- 유사코드
- 파이썬
- 학점
- smart cast
- jsp
- K6
- 오라클
- 리눅스
- SQL
- oracle
- 문법 정리
- 자바
- 오라클 디비
- resilience4j
- hyperledger
- MongoDB
- JVM
- 운영체제
- auto configure
- 알고리즘
- Today
- Total
모종닷컴
Oracle 문법 정리 - 집합 연산자 본문
◆집합 연산자
먼저 실행
--set_a테이블 생성 create table set_a( a number(5) ); -------1,2,3,4,5,6 삽입 --------- insert into set_a values(1); insert into set_a values(2); insert into set_a values(3); insert into set_a values(4); insert into set_a values(5); insert into set_a values(6); --set_b테이블 생성 create table set_b( a number(5) ); -------4,5,6,7,8,9 삽입 ---------
insert into set_b values(4); insert into set_b values(5); insert into set_b values(6); insert into set_b values(7); insert into set_b values(8); insert into set_b values(9); |
1)union = 합집합
:합집합이지만 중복된 부부은 제거가 되있는
*쿼리에서 select 문으로 선택된 열의 개수와 데이터 유형은 동일해야 한다.
*이름은 같지 않아도 된다.
*null은 중복 검사 시 무시되지 않습니다.
select * from set_a union select * from set_b |
select employee_id, job_id,salary from employees union select employee_id, job_id,0 from job_history; |
2)union all =
:합집합이지만 중복된 부분도 그대로 출력 (union보다 빠르다)
select * from set_a union all select * from set_b |
3)intersect = 교집합
:테이블간의 중복되는만 부분 출력
*쿼리에서 select 문으로 선택된 열의 개수와 데이터 유형은 동일해야 한다.
*이름은 같지 않아도 된다.
*null은 무시되지 않습니다.
select * from set_a intersect select * from set_b |
4)minus = 차집합
:현재 테이블에서 비교 테이블과 중복된 부분을 제거한 데이터를 출력
*쿼리에서 select 문으로 선택된 열의 개수와 데이터 유형은 동일해야 한다.
*이름은 같지 않아도 된다.
select * from set_a minus select * from set_b |
'Programming > 데이터베이스' 카테고리의 다른 글
Oracle 문법 정리 - 트랜잭션 (0) | 2018.01.05 |
---|---|
Oracle 문법 정리 - DML (0) | 2018.01.04 |
Oracle 문법 정리 - join (0) | 2018.01.02 |
Oracle 문법 정리 - 서브쿼리 (0) | 2018.01.02 |
Oracle 문법 정리 - 그룹 함수 (0) | 2017.12.29 |