INNER JOIN, LEFT JOIN을 이용하면 두 개의 테이블을 좌우로 붙여서 출력할 수 있다.

UNION과 UNION ALL은 두 개의 테이블을 좌우가 아닌 위아래로 붙여서 출력해준다.

UNION과 UNION ALL의 사용법을 알아보자.

 

 

UNION

 

<example1>

ID 이름 나이
1 강** 20
2 김** 21

<example2>

ID 이름 나이
1 강** 20
3 박** 27

 

위의 두 테이블을 UNION을 이용해 위아래로 붙여보자.

SELECT *
FROM example1
UNION
SELECT *
FROM example2

↓↓↓

ID 이름 나이
1 강** 20
2 김** 21
3 박** 27

 

UNION은 두 테이블에서 중복된 값은 없애고, 고유한 값만 출력한다.

반면에 UNION ALL은 중복된 값까지 모든 값을 출력한다.

※ 맨 마지막에 ORDER BY  →  UNION을 한 결과 전체 테이블의 특정 컬럼에 대해 정렬

 

 

 

 

UNION ALL

 

example1과 example2 테이블을 UNION ALL을 이용해 위아래로 붙인다면

다음과 같이 출력된다.

ID 이름 나이
1 강** 20
2 김** 21
1 강** 20
3 박** 27

 

 

 

 

<예제 문제>

 

ex1) Employees 테이블에서 EmployeeID가 3이하 또는 9이상인 행을 출력해라.

SELECT * 
FROM employees
WHERE employeeid <= 3
UNION
SELECT *
FROM employees
WHERE employeeid >= 9

 

 

ex2) Suppliers 테이블에서 Country가 USA 또는 UK인 행을 출력해라.

SELECT * 
FROM Suppliers
WHERE country = 'USA'
UNION
SELECT *
FROM suppliers
WHERE country = 'UK'

 

 

 

 


 

↘↘↘

[백문이불여일타] 데이터 분석을 위한 중급 SQL

https://www.inflearn.com/course/%EB%8D%B0%EC%9D%B4%ED%84%B0-%EB%B6%84%EC%84%9D-%EC%A4%91%EA%B8%89-sql

 

'📖 STUDY > SQL' 카테고리의 다른 글

[SQL] 서브쿼리  (0) 2022.03.31
[SQL] INSERT, UPDATE, DELETE  (0) 2022.03.26
[SQL] DATE_ADD, DATE_SUB  (0) 2022.03.15
[SQL] INNER JOIN, LEFT JOIN, RIGHT JOIN, SELF JOIN  (0) 2022.03.15
[SQL] CASE_테이블 피봇  (0) 2022.03.08

+ Recent posts