1. UNION <- 두 쿼리의 결과를 모두 보여준다. 중복은 제거한다.
2. UNION ALL <- UNION 과 같지만 중복을 제거하지 않는다.
1 SELECT EMPLOYEE_ID, LAST_NAME
2 FROM EMPLOYEES
3 WHERE LAST_NAME LIKE 'A%' OR LAST_NAME LIKE 'D%'
4 UNION ALL
5 SELECT EMPLOYEE_ID, LAST_NAME
6 FROM EMPLOYEES
7* WHERE LAST_NAME LIKE 'D%' OR LAST_NAME LIKE 'M%'
SQL> /
3. INTERSECT <- 두 쿼리 결과중에서 중복된 값만 출력한다.
4. MINUS <-첫번에-두번째 형태 즉 차집합이다. 첫번재는 있지만 두번째에는 없는것만 리턴한다.
1 SELECT EMPLOYEE_ID, LAST_NAME
2 FROM EMPLOYEES
3 WHERE LAST_NAME LIKE 'A%' OR LAST_NAME LIKE 'D%'
4 UNION
5 SELECT EMPLOYEE_ID, LAST_NAME
6 FROM EMPLOYEES
7* WHERE LAST_NAME LIKE 'D%' OR LAST_NAME LIKE 'M%'
SQL> /
2 FROM EMPLOYEES
3 WHERE LAST_NAME LIKE 'A%' OR LAST_NAME LIKE 'D%'
4 UNION
5 SELECT EMPLOYEE_ID, LAST_NAME
6 FROM EMPLOYEES
7* WHERE LAST_NAME LIKE 'D%' OR LAST_NAME LIKE 'M%'
SQL> /
EMPLOYEE_ID LAST_NAME
----------- -------------------------
102 De Haan
124 Mourgos
142 Davies
143 Matos
174 Abel
----------- -------------------------
102 De Haan
124 Mourgos
142 Davies
143 Matos
174 Abel
5 rows selected.
2. UNION ALL <- UNION 과 같지만 중복을 제거하지 않는다.
1 SELECT EMPLOYEE_ID, LAST_NAME
2 FROM EMPLOYEES
3 WHERE LAST_NAME LIKE 'A%' OR LAST_NAME LIKE 'D%'
4 UNION ALL
5 SELECT EMPLOYEE_ID, LAST_NAME
6 FROM EMPLOYEES
7* WHERE LAST_NAME LIKE 'D%' OR LAST_NAME LIKE 'M%'
SQL> /
EMPLOYEE_ID LAST_NAME
----------- -------------------------
102 De Haan
142 Davies
174 Abel
102 De Haan
124 Mourgos
142 Davies
143 Matos
----------- -------------------------
102 De Haan
142 Davies
174 Abel
102 De Haan
124 Mourgos
142 Davies
143 Matos
7 rows selected.
3. INTERSECT <- 두 쿼리 결과중에서 중복된 값만 출력한다.
1 SELECT EMPLOYEE_ID, LAST_NAME
2 FROM EMPLOYEES
3 WHERE LAST_NAME LIKE 'A%' OR LAST_NAME LIKE 'D%'
4 INTERSECT
5 SELECT EMPLOYEE_ID, LAST_NAME
6 FROM EMPLOYEES
7* WHERE LAST_NAME LIKE 'D%' OR LAST_NAME LIKE 'M%'
8 /
2 FROM EMPLOYEES
3 WHERE LAST_NAME LIKE 'A%' OR LAST_NAME LIKE 'D%'
4 INTERSECT
5 SELECT EMPLOYEE_ID, LAST_NAME
6 FROM EMPLOYEES
7* WHERE LAST_NAME LIKE 'D%' OR LAST_NAME LIKE 'M%'
8 /
EMPLOYEE_ID LAST_NAME
----------- -------------------------
102 De Haan
142 Davies
----------- -------------------------
102 De Haan
142 Davies
2 rows selected.
4. MINUS <-첫번에-두번째 형태 즉 차집합이다. 첫번재는 있지만 두번째에는 없는것만 리턴한다.
1 SELECT EMPLOYEE_ID, LAST_NAME
2 FROM EMPLOYEES
3 WHERE LAST_NAME LIKE 'A%' OR LAST_NAME LIKE 'D%'
4 MINUS
5 SELECT EMPLOYEE_ID, LAST_NAME
6 FROM EMPLOYEES
7* WHERE LAST_NAME LIKE 'D%' OR LAST_NAME LIKE 'M%'
SQL> /
2 FROM EMPLOYEES
3 WHERE LAST_NAME LIKE 'A%' OR LAST_NAME LIKE 'D%'
4 MINUS
5 SELECT EMPLOYEE_ID, LAST_NAME
6 FROM EMPLOYEES
7* WHERE LAST_NAME LIKE 'D%' OR LAST_NAME LIKE 'M%'
SQL> /
EMPLOYEE_ID LAST_NAME
----------- -------------------------
174 Abel
----------- -------------------------
174 Abel
1 row selected.
'Computer Engineering > DB' 카테고리의 다른 글
오라클 세이브 포인트 (oracle savepoint) (0) | 2008.08.14 |
---|---|
오라클 기본 쿼리 (사용자 테이블 리스트보기, 모든 사용자보기, 테이블 제약조건 보기, sql 실행속도 ) (0) | 2008.08.14 |
오라클 사용자 생성, 삭제 (0) | 2008.08.14 |
오라클 업데이트, 딜리트 쿼리 (oracle update, delete query) (0) | 2008.08.13 |
오라클 인서트 쿼리 (oracle insert query) (0) | 2008.08.13 |
오라클 조인 쿼리 (ORACLE JOIN QUERY) (0) | 2008.08.13 |
오라클 사용자 관리하기 (0) | 2008.08.13 |
오라클 패스 워드 변경 (0) | 2008.08.13 |
오라클 사용자가 소유하는 테이블 이름 목록 보기 (0) | 2008.08.13 |
오라클 dbms_output.putline() 사용시 화면에 아무것도 안나올때 해결방법 (0) | 2008.08.13 |