제2절_집합_연산자(SET_OPERATOR)
2012.03.18 22:27
제2절 집합 연산자(SET OPERATOR)
집한 연산자
- 두개 이상의 연관된 테이블에서 데이터를 조회하는 방법
- 여러개의 질의의 결과를 연결하여 하나로 결합
- 튜닝관점에서 실행계획을 분리하고자 할때
--UNION
SELECT DEPARTMENT_ID, EMPLOYEE_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID=10
UNION
SELECT DEPARTMENT_ID, EMPLOYEE_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID=20
ORDER BY LAST_NAME;
--같은 컬럼에 대한 IN연산자 대체 UNION 효과
SELECT DEPARTMENT_ID, EMPLOYEE_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID IN (10, 20);
UNION ALL
UNION ALL은 UNION과 다르게 집합내에서 중복이 생길수 있음(단순 결합)
--UNION ALL
SELECT DEPARTMENT_ID, EMPLOYEE_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID IN (10, 20)
UNION ALL
SELECT DEPARTMENT_ID, EMPLOYEE_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID IN (10, 20)
ORDER BY LAST_NAME;
--MINUS
SELECT DEPARTMENT_ID, EMPLOYEE_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID IN (10, 20)
MINUS
SELECT DEPARTMENT_ID, EMPLOYEE_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES
WHERE DEPARTMENT_ID =10
ORDER BY LAST_NAME;
--NOT IN를 이용한 MINUS효과
SELECT DEPARTMENT_ID, EMPLOYEE_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES A
WHERE DEPARTMENT_ID IN (10, 20)
AND EMPLOYEE_ID NOT IN
(SELECT EMPLOYEE_ID
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 10);
--NOT IN를 이용한 MINUS효과
SELECT DEPARTMENT_ID, EMPLOYEE_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES A
WHERE DEPARTMENT_ID IN (10, 20)
INTERSECT
SELECT DEPARTMENT_ID, EMPLOYEE_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES A
WHERE DEPARTMENT_ID = 10;
--IN연산자를 이용한 INTERSECT효과
SELECT DEPARTMENT_ID, EMPLOYEE_ID, FIRST_NAME, LAST_NAME
FROM EMPLOYEES A
WHERE DEPARTMENT_ID IN (10, 20)
AND EMPLOYEE_ID IN
(SELECT EMPLOYEE_ID
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 10);
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 18 |
제5절_WHERE_절
| 보라빛고양이 | 2012.03.10 | 17425 |
| 17 | 제4절_TCL(TRANSACTION_CONTROL_LANGUAGE) | 보라빛고양이 | 2012.03.10 | 11241 |
| 16 | 제3절_DML(DATA_MANIPULATION_LANGUAGE) | balto | 2012.03.09 | 9395 |
| 15 |
제2절_DDL(DATA_DEFINITION_LANGUAGE)
[1] | balto | 2012.03.09 | 14386 |
| 14 | 제1절_관계형_데이터베이스_개요 | balto | 2012.03.09 | 14434 |
| 13 | 제5절_데이터베이스_구조와_성능 | 오예스 | 2012.03.07 | 8625 |
| 12 | 제4절_대량_데이터에_따른_성능 | 오예스 | 2012.03.07 | 10194 |
| 11 |
제3절_반정규화와_성능
| ljw | 2012.03.04 | 20998 |
| 10 |
제2절_정규화와_성능
| ljw | 2012.03.04 | 13551 |
| 9 |
제1절_성능_데이터_모델링의_개요
| ljw | 2012.03.04 | 47082 |
| 8 | 제4절_관계(Relationship) [1] | 실천하자 | 2012.03.04 | 15546 |
| 7 | 제3절_속성(Attribute) | 실천하자 | 2012.03.04 | 10337 |
| 6 | 제2절_엔터티(Entity) | 실천하자 | 2012.03.04 | 12766 |
| 5 | 제1절_데이터_모델의_이해 | 실천하자 | 2012.03.03 | 25137 |
| 4 |
제5절_식별자
| ljw | 2012.03.03 | 21561 |
| 3 |
Front Page
| 운영자 | 2012.02.20 | 189236 |
| 2 | 제3절_조인_수행_원리 | 실천하자 | 2012.04.11 | 10115 |
| 1 | 제3절_조인_기본_원리 | 보라빛고양이 | 2012.05.30 | 6503 |