데이터베이스/SQL

집합연산자(UNION, INTERSECT, EXCEPT)

DS지니 2021. 8. 14. 16:37
728x90
반응형

집합연산자(Set Operator) : 두 개 이상의 SQL 쿼리문을 합치는 방법 (SELECT구문과 SELECT구문 합치기)

  • 컬럼의 개수가 같아야하고, 각 컬럼의 데이터타입이 같아야한다.
  • 검색 결과의 헤더는 앞쪽 SELECT문에 의해 결정된다.
  • ORDER BY 절은 문장의 제일 마지막에 사용한다.

 

집합연산자

 

집합연산자 종류 기호 의미 쿼리문
UNION A ∪ B 두 개 쿼리문 조건의 모든 행 (중복 제거) SELECT * FROM A
UNION    
SELECT * FROM B
UNION ALL 두 개 쿼리문 조건의 모든 행 (중복 포함) SELECT * FROM A
UNION  ALL    
SELECT * FROM B
INTERSECT A ∩ B 양 쪽 조건 모두가 포함된 행만 검색 SELECT * FROM A
INTERSET SELECT * FROM B
MINUS A -
(A ∩ B)
A쿼리문 조건에서 B쿼리문 조건을 뺀 나머지를 검색
(MySQL and Oracle)
SELECT * FROM A
MINUS SELECT * FROM B
EXCEPT MINUS와 비슷하다. A쿼리문 조건에서 B쿼리문 조건을 제외한 나머지를 검색
(Only PostgreSQL, SQL Server, and SQLite)
SELECT * FROM A
EXCEPT SELECT * FROM B

 

728x90
반응형