Programming/Database
UNION / INTERSECT / MINUS
dev?
2020. 4. 27. 18:59
반응형
1) 결과를 모아서 출력하기 - UNION / UNION ALL
UNION - 합집합 (중복처리O)
UNION ALL - 합집합 (중복처리X, 모든 값들을 보여줌)
SELECT [컬럼명, 컬럼명 ...]
FROM [테이블명]
WHERE [조건]
UNION
SELECT [컬럼명, 컬럼명 ...
FROM [테이블명]
WHERE [조건]
SELECT [컬럼명, 컬럼명 ...]
FROM [테이블명]
WHERE [조건]
UNION ALL
SELECT [컬럼명, 컬럼명 ...]
FROM [테이블명]
WHERE [조건]
EX)
SELECT DEPARTMENT_ID, SALARY
FROM EMPLOYEES
WHERE SALARY > 1000
AND DEPARTMENT_ID = 90
UNION / UNION ALL
SELECT DEPARTMENT_ID, SALARY
FROM EMPLOYEES
WHERE SALARY > 1000
AND DEPARTMENT_ID = 80;
2) 공통 데이터 찾기 - INTERSECT
두 SQL 문장의 실행 결과에서 공통부분(교집합)을 찾는 연산
SELECT [컬럼명A]
FROM [테이블명]
WHERE [조건B]
INTERSECT
SELECT [컬럼명A]
FROM [테이블명]
WHERE [조건B]
EX)
SELECT SALARY
FROM EMPLOYEES
WHERE DEPARTMENT_ID >= 70
INTERSECT
SELECT SALARY
FROM EMPLOYEES
WHERE DEPARTMENT_ID < 70;
3) 특정 결과를 재외하기 - MINUS
큰 집합에서 작은 집합 빼는(차집합) 연산
/* 큰 집합 */
SELECT [컬럼명A]
FROM [테이블명]
MINUS
/* 작은 집합 */
SELECT [컬럼명A]
FROM [테이블명]
WHERE [조건];
반응형