UNION
UNION 절은 JOIN 절이 두 개의 데이터 셋을 가로로 연결해준것과 달리
아래로 연결되도록 해준다.
따라서, 두 개의 SELECT 문을 작성해서 이어붙일 때 그 사이에 UNION을 쓸 수 있는 것이다.
ID | 학과 |
1 | 경영학과 |
2 | 컴퓨터과학과 |
ID | 학과 |
2 | 컴퓨터과학과 |
3 | 건축학과 |
4 | 국어국문학과 |
첫번째 테이블의 모든 결과를 나열하고 + 그 밑에 두번째 테이블의 모든 결과들이 이어진다.
그런데 distinct values들만 남는다.
즉, 위에서 두번째 테이블인 B에 A와 중복되는 행인 (ID = 2)가 있는데, 이러면
ID = 2인 행은 제외하고 붙여진다.
결과는 다음과 같을 것이다.
ID | 학과 |
1 | 경영학과 |
2 | 컴퓨터과학과 |
3 | 건축학과 |
4 | 국어국문학과 |
두 개의 SELECT 문 사이에 UNION이 낄려면
두 개의 SELECT 문으로 만들어진 두 개의 테이블의
(1) 열의 갯수가 같아야 한다.
(2) 각 열의 data type이 순서대로 일치해야 한다. (예를 들어 윗 테이블이 숫자-문자 였다면 밑 테이블도 숫자-문자)
UNION ALL
중복 여부와 관계없이 두번째 테이블의 모든 행들을 첫번째 테이블 밑에 연결짓고 싶다면
'UNION ALL'을 사용하면 된다.
'Study > SQL' 카테고리의 다른 글
SQL : Insert (0) | 2023.10.05 |
---|---|
SQL : Joins with Comparison Operators (0) | 2023.07.20 |
SQL : Join - LEFT/RIGHT/OUTER JOIN (0) | 2023.07.20 |
SQL : JOIN - INNER JOIN (0) | 2023.07.19 |
SQL : CASE로 pivot하기 (0) | 2023.07.19 |