집합연산자_UNION (ALL), INTERSECT, MINUS (EXCEPT)

jiji·2023년 10월 21일
0

DataBase

목록 보기
5/14

오라클 집합연산자

오라클 데이터베이스에서 집합연산자는 여러 SELECT 문의 결과를 하나의 결과 집합으로 결합하는 데 사용됩니다. 오라클은 다음 네 가지 집합연산자를 제공합니다.

  1. UNION
  2. UNION ALL
  3. INTERSECT
  4. MINUS

1. UNION

  • 합집합 연산
  • 중복정보는 한번
  • 첫번째 쿼리의 열의 개수와 타입이 두번째 쿼리의 열수와 타입과 동일해야 함.
  • 자동으로 정렬이 일어남 (첫번째 컬럼 오름차가 기본값)
SELECT column1, column2, ...FROM table1
**UNION**
SELECT column1, column2, ...FROM table2;

2. UNION ALL

  • UNION과 같이 두 테이블로 수직으로 합쳐서 보여줍니다.
  • UNION과는 달리 중복된 데이터도 한번 더 보여줍니다.
  • 자동 정렬 기능을 지원하지 않아 성능상 유리합니다.
SELECT column1, column2, ...FROM table1
**UNION ALL**
SELECT column1, column2, ...FROM table2;

3. INTERSECT

  • 첫번째 쿼리와 두번째 쿼리에서 중복된 행만을 출력합니다.
  • 교집합
  • 결과 집합 정렬
SELECT column1, column2, ...FROM table1
**INTERSECT**
SELECT column1, column2, ...FROM table2;

4. MINUS (EXCEPT)

  • 두번째 쿼리에는 없고 첫번째 쿼리에만 있는 데이터를 보여줍니다. (중복 행 제거)
  • 차집합의 개념입니다.
  • 결과 집합 정렬
SELECT column1, column2, ...FROM table1
**MINUS**
SELECT column1, column2, ...FROM table2;

집합 연산자를 사용할 때 주의할 점은 각 SELECT 문의 열 수와 데이터 타입이 일치해야 한다는 것입니다. 그렇지 않으면 오류가 발생합니다.

0개의 댓글