UNION ALL
- SQL에서 두개의 SELECT 문장을 UNION ALL로 연결하면 각문장이 반환하는 결과가 모두 조회된다.
-두 SELECT절에서 사용하는 컬럼의 데이터형과 수는 일치해야한다.
-SELECT 문이 2개여도 첫번째 SELECT 문에서 사용된 컬럼명으로 조회된다.
1
2
3
4
5
|
SELECT emp_id, emp_name, gender, age
From emp03
UNION ALL
SELECT emp_id2, emp_name, gender, age
FROM emp08
|
cs |
SELECT 문장이 두개지만 집합연산자로 인해 하나의 문장으로 결과값이 연결되어 나온다
UNION
- UNION ALL과 동일하나 한가지가 다름( 중복된 데이터가 존재할경우 그 데이터 1건만 조회된다)
- 만약 아래와 같이 동일한 컬럼만 조회할경우 중복된 데이터를 제거하지만,다른 컬럼(나이나 성별등)을 명시할경우 중복된 데이터라 간주 하지않고 모두 조회된다
1
2
3
4
5
6
|
SELECT emp_name
FROM emp03
UNION
SELECT emp_name
FROM emp08
ORDER BY 1;
|
cs |
INTERSECT
-두개의 쿼리 결과를 검사해 공통된 요소에 해당하는 결과를 가져온다( 중복데이터만 추출)
-공통된 요소가 없다면 아무것도 조회되지 않음. (중복된 데이터를 판별하는기준은 집합쿼리 부분이 다동일하다)
1
2
3
4
5
6
|
SELECT emp_name
FROM emp03
INTERSECT
SELECT emp_name
FROM emp08
ORDER BY 1;
|
cs |
MINUS
-첫번째 쿼리 결과와 두번째 쿼리 결과를 비교해 첫번쨰 결과에만 있는 데이터만 조회
(두번째 결과에 첫번째 데이터와 중복된 데이터가 있으면 중복된 데이터는 결과X)
1
2
3
4
5
|
SELECT emp_name
FROM emp03
MINUS
SELECT emp_name
FROM emp08
|
cs |
'데이터베이스' 카테고리의 다른 글
[Oracle] 서브쿼리 종류 (0) | 2021.02.25 |
---|---|
[Oracle] 테이블간 관계 맺기 - 조인 (1) | 2021.02.13 |
[Oracle] 데이터 집계( GROUP BY절, HAVING절, 집계함수) (0) | 2021.02.11 |
[Oracle] SQL 연산자와 주요 SQL함수 (0) | 2021.02.10 |
[Oracle] 데이터 조회, SELECT 문 (1) | 2021.02.09 |