[SQL] 집합 연산자
2022. 3. 30. 00:52ㆍ카테고리 없음
두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회하는 방법이 있다.
조인 vs. 집합 연산자
- 조인: 조인 조건을 사용해 여러 테이블의 행과 행을 서로 연결한다.
- 집합 연산자: 여러 개의 결과 집합 간의 연산을 통해 결합하는 방식
용도
- 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때
- 동일 테이블에서 서로 다른 질의를 수행해 결과를 합치고자 할 때
집합연산자를 사용하기 위해서는 다음 조건을 만족해야 한다.
- SELECT 절의 칼럼 수가 동일
- SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 동일
집합 연산자 | 연산자의 의미 |
UNION | 합집합 연산 단, 결과에서 모든 중복된 행은 하나의 행으로 만든다. |
UNION ALL | 합집한 연산 + 중복된 행도 그대로 표시 일반적으로 여러 질의 결과가 상호 배타적(XOR)일 때 많이 사용 |
INTERSECT | 교집합 연산 단, 결과에서 모든 중복된 행은 하나의 행으로 만든다. |
EXCEPT | 차집합 연산 단, 결과에서 모든 중복된 행은 하나의 행으로 만든다. |