1. 집합
- 집합 작업은 둘 이상의 쿼리 결과를 단일 결과로 결합하는 데 사용
- 결합된 쿼리는 동일한 수의 열을 반환해야 함
- 호환 가능한 데이터 유형, 해당 열의 이름은 다를 수 있음
2. UNION(합집합)
- UNION은 두 결과 집합의 결과를 결합하고 중복을 제거
- union all은 중복 행을 제거하지 않음
- all : 모든 결과 확인
- distinct : 중복 제거
select * from `weniv.weniv_user` as user1
UNION ALL
select * from `weniv.weniv_user3` as user3
select * from `weniv.weniv_user` as user1
UNION DISTINCT
select * from `weniv.weniv_user3` as user3
-> 두명이던 Grey가 한 명만
3. INTERSECT(교집합)
- INTERSECT는 두 결과 집합 모두에 나타나는 행만 반환
select * from `weniv.weniv_user` as user1
INTERSECT DISTINCT
select * from `weniv.weniv_user3` as user3
4. EXCEPT(차집합, A-B)
- EXCEPT는 첫 번째 결과 집합에는 나타나지만 두 번째 결과 집합에는 나타나지 않는 행만 반환
select * from `weniv.weniv_user` as user1
except DISTINCT
select * from `weniv.weniv_user3` as user3
연도별 회원가입자수와 전체 회원가입자수 합계를 함께 보여주기
select
CAST(extract(year from created_at) AS STRING) as year,
count(id) as user_count
from `thelook_ecommerce.users`
group by year
UNION ALL
select
'TOTAL' as year,
count(id) as user_count
from `thelook_ecommerce.users`
order by year
join은 테이블간의 결합 -> 필드 확장 -> 좌우로
union은 결과를 합치는 -> 위아래로
'AI SCHOOL > SQL' 카테고리의 다른 글
[SQL] WITH / 서브쿼리 (0) | 2023.02.02 |
---|---|
[SQL] 집합 연습문제 (0) | 2023.01.27 |
[SQL] JOIN 연습문제 (0) | 2023.01.26 |
[SQL] 조건분기(CASE, IF) (0) | 2023.01.26 |
[SQL] JOIN (1) | 2023.01.26 |