[SQL] 집합 연산자

2022. 3. 30. 00:52카테고리 없음

두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회하는 방법이 있다.

 

조인 vs. 집합 연산자

- 조인: 조인 조건을 사용해 여러 테이블의 행과 행을 서로 연결한다.

- 집합 연산자: 여러 개의 결과 집합 간의 연산을 통해 결합하는 방식

 

용도

- 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때

- 동일 테이블에서 서로 다른 질의를 수행해 결과를 합치고자 할 때

 

집합연산자를 사용하기 위해서는 다음 조건을 만족해야 한다.

- SELECT 절의 칼럼 수가 동일

- SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 동일

 

집합 연산자 연산자의 의미
UNION 합집합 연산
단, 결과에서 모든 중복된 행은 하나의 행으로 만든다.
UNION ALL 합집한 연산 + 중복된 행도 그대로 표시
일반적으로 여러 질의 결과가 상호 배타적(XOR)일 때 많이 사용
INTERSECT 교집합 연산
단, 결과에서 모든 중복된 행은 하나의 행으로 만든다.
EXCEPT 차집합 연산
단, 결과에서 모든 중복된 행은 하나의 행으로 만든다.