본문 바로가기
개발 기록/sql

[SQL]UNION ALL, UNION

by jeong11 2024. 1. 6.
반응형

1.  UNION

: 집합 연산자로 데이터를 위 아래로 연결하기 (중복 제거)

1) 문제

> 부서 번호와 부서번호별 토탈월급을 출력하고 맨 아래에 전체 토탈월급을 출력하는데 부서번호를 오름차순으로 출력하세요.

select deptno, sum(sal)
from emp 
group by deptno
union
select to_number(null) as deptno, sum(sal)
from emp;

컬럼 갯수와 데이터 타입을 위와 같게 맞춰주어야 한다. 

 

> 직업, 직업별 토탈월급을 출력하는데 직업이 abcd 순으로 정렬되어 출력하고 맨 아래에 전체 토탈월급을 출력하세요.

select job, sum(sal)
from emp
group by job
union
select to_char(null) as job, sum(sal)
from emp
order  by job;

 

2. UNION ALL

: 집합 연산자로 데이터를 위 아래로 연결하기 (모두 출력)

1) 문제

> 부서번호와 부서번호별 토탈월급을 출력하는데 맨 아래에 전체 토탈 월급도 출력하세요.

select deptno, sum(sal)
from emp 
group by deptno
union all 
select to_number(null) as deptno, sum(sal)
from emp
order by deptno asc;

 

> 직업과 직업별 토탈월급을 출력하는데 맨 아래 전체 토탈 월급도 출력하세요. 

select job, sum(sal)
from emp
group by job 
union all 
select to_char(null) as job, sum(sal)
from emp;
반응형