SQL

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

kiki97 ㅣ 2022. 8. 9. 17:01

반응형

사용목적

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

 

UNION

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

 

UNION ALL

UNION과 같으며 중복을 제거하지 않음, 정렬되어 출력안됨

SELECT * FROM a
UNION ALL
SELECT * FROM b
  • 정렬을 할 시 마지막으로 명시한 SELECT문의 다음에 ORDER BY를 해야한다.

 

사용시 주의점

  • 컬럼의 타입과 순서 그리고 컬럼의 개수가 동일해야한다.
  • ORDER BY 사용시 첫번째로 명시된 SELECT문의 컬럼명 혹은 ALIAS로 작성해야한다.
반응형