오라클 집합연산자 UNION, UNION ALL

lsc·2022년 7월 14일

사용목적

  • 조회한 다수의 SELECT 문을 하나로 합치고 싶을때

UNION

  1. 두개 이상의 테이블의 결합을 나타냄
  2. 중복되는 행은 제거하고 정렬되어 출력됨
SELECT - FROM a
UNION
SELECT * FROM b
  • 컬럼이 두개 이상이면 묶음으로 확인해서 중복제거함
    즉, 행의 데이터가 다 같아야지 중복제거
  • 컬럼명은 첫번째로 명시된 컬럼명을 따라감

UNION ALL

  1. UNION 과 같으며 중복을 제거하지 않음, 정렬되어 출력안됨
SELECT - FROM a
UNION ALL
SELECT * FROM b
  • 정렬을 할 시 마지막으로 명시한 SELECT문의 다음에 ORDER BY를 해야한다.

사용시 주의점

  1. 컬럼의 타입과 순서 그리고 컬럼의 개수가 동일해야한다.
  2. ORDER BY 사용시 첫번째로 명시된 SELECT 문의 컬럼명 혹은 ALIAS로 작성해야한다.
profile
공부한것들 정리하는 블로그

0개의 댓글