반응형
UNION
UNION은 두개 이상의 쿼리 결과를 결합하는데 사용된다. 모든 SELECT문은 같은 숫자의 열을 가져야 하고, 유사한 데이터 형식이어야 하며, 같은 순서로 열이 구성되어야 한다. 기본적인 형식은 다음과 같다.
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
UNION은 기본적으로 중복을 제거한다. 만약 중복된 것까지 포함하고 싶다면 UNION ALL을 사용하자.
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
INTERSECT
INTERSECT는 이름처럼 교집합이기 때문에 INNER JOIN과 유사하나, 각 쿼리에서 반환한 결과에서 중복을 제외한다. 기본적인 형식은 다음과 같다.
SELECT column_name(s) FROM table1
INTERSECT
SELECT column_name(s) FROM table2;
EXCEPT
EXCEPT는 한 쿼리(A)에는 있지만 다른 쿼리(B)에는 없는 것을 반환한다. 위와 동일하게 중복값은 제외한다. 기본적인 형식은 다음과 같다.
SELECT column_name(s) FROM table1
EXCEPT
SELECT column_name(s) FROM table2;
전체 정리
위 내용들을 일반화하면 아래와 같이 정리할 수 있다.
query_block [set_op query_block] [set_op query_block] ...
query_block:
SELECT | TABLE | VALUES
set_op:
UNION | INTERSECT | EXCEPT
참고자료
반응형
'SQL' 카테고리의 다른 글
| SQL 기본 날짜 함수 정리하기 | 날짜 정보 가져오기, 날짜 연산, 날짜 시간 형식 지정 (0) | 2025.01.16 |
|---|---|
| SQL 기본 문자열 함수 정리하기 (1) | 2025.01.15 |
| 공통 테이블식 쿼리(CTE) 기본 내용 정리하기 | 일반 & 재귀 CTE (0) | 2025.01.11 |
| SQL 서브 쿼리 사용하기 | IN, ANY, ALL, EXISTS (0) | 2025.01.10 |
| SQL로 서로 다른 테이블 조합(JOIN)하기 | INNER JOIN, OUTER JOIN, CROSS JOIN, SELF JOIN (0) | 2025.01.09 |