UNION - 합집합 (중복제거)
두 개이상의 select문을 서로 합치고 싶은데 그 중에서도
중복되는 데이터를 제거 후 출력하고 싶다면 UNION을 사용하면 된다.
각각 데이터를 갖고 있는 sale_asia, sale_america 테이블이 있다.
만약 두개의 테이블을 합쳐서 중복제거 후 조회하고 싶으면
UNIONO을 사용하면 된다.
주의점 : 각 select문이 출력하려는 열 개수와 각 열의 자료형이 순서별로 일치해야 한다.
(칼럼명칭, 칼럼위치, 칼럼수가 모두 동일해야 한다.)
(컬럼명이 같지 않다면 as를 사용해서 같게 만들어줘야 한다.)
select name, ea
from sale_asia
union
select name, ea
from sale_america -- union시 주의점 : 컬럼의 갯수가 같아야 한다.
order by ea; -- 합치는 컬럼의 데이터 타입이 호환이 되어야 한다.
-- order by는 마지막에 작성, 합쳐진 후 적용된다.
UNION ALL 합집합 ( 중복제거 X)
두 개이상의 select문을 서로 중복된 데이터를 제거하지 않고
합치고 싶다면 UNION ALL을 사용하면 된다.
select name, ea
from sale_asia
union all
select name, ea
from sale_america
order by ea;
MINUS 차집합 ( 중복된 데이터 제거 후 출력)
첫번째 select문에서 두번째 select문을 빼고 싶다면 minus를 사용하면 된다!
minus는 첫번째 select문을 기준으로 두번째 select문과의 공통데이터를 제거 한 후 데이터를 반환한다!
select name, ea
from sale_asia
minus
select name, ea
from sale_america
INTERSECT 교집합 ( 중복되는 데이터만 출력)
두개의 select문에서 중복된 데이터만 출력하고 싶은 경우에 사용한다!
select name, ea
from sale_asia
INTERSECT
select name, ea
from sale_america
'Back-End > DB' 카테고리의 다른 글
[Oracle] 오라클 함수 (문자열, 숫자, 날짜) (0) | 2022.02.28 |
---|---|
[Oracla] SQL- WHER절과 연산자 (0) | 2022.02.23 |
[Oracla] SQL- DESC, Select절 사용하기 (0) | 2022.02.23 |
[Oracle] oracle 11g Experss 버전 Scott 계정 생성하기 (0) | 2022.02.21 |
[Oracle] SQL Developer 다운로드 및 접속 (0) | 2022.02.21 |