본문 바로가기
코딩/SQL

[SQL] UNION

by 미생22 2023. 2. 20.
728x90

1. 실습환경 만들기

test1 테이블에는 no라는 컬럼에 1,2,3을, test2 테이블에는 no라는 컬럼에 5,6,3을 넣어둔다.

 

2. UNION

여러 개의 SQL문을 합쳐서 하나의 SQL문으로 만들어주는 방법

주의할 점은 칼럼의 개수가 같아야한다는 것이다.

select문이 두개 들어간다.

 

UNION : 중복된 값을 제거하여 알려준다.

UNION ALL : 중복된 값도 모두 보여준다.

select column1, column2, ... from tableA
UNION | UNION ALL
select column1, column2, ... from tableB

예제로 위 test1과 test2를 합치면 이렇게된다.

select * from test1 UNION ALL select * from test2;

다음으로 UNION을 쓰면 1,2,3,5,6이 됨을 알 수 있다.

참고로 컬럼 개수만 맞춘다고 해서 다 제대로된 자리에 데이터를 가져오지는 않는다.

예제를 살펴보자.

select name, job_title from celeb where job_title like '%가수%'
union
select name, birthday from where birthday between '1980-01-01' and '1989-12-31';

과 같은 코드가 있다고 하자. 컬럼은 두개지만 가져오는 컬럼이 다르다. 이 때 결과를 보면

birthday가 job_title에 들어가는 모습을 볼 수 있다.

따라서 이런 경우 name, job_title, birthday로 컬럼을 3개 가져오는게 정확한 데이터를 가져올 수 있다.

728x90

'코딩 > SQL' 카테고리의 다른 글

[SQL] Concat, Alias, Distinct, Limit  (0) 2023.02.20
[SQL] JOIN  (0) 2023.02.20
[SQL] 논리 연산자  (0) 2023.02.20
[SQL] Order by, 비교 연산자  (0) 2023.02.17
[SQL] 데이터 조작 언어 (select, insert, where, update, delete)  (0) 2023.02.16