[74일차] UNION ALL

저요·2022년 12월 5일

2022 100th day challenge

목록 보기
74/97

UNION, UNION ALL이란?

두 개 이상의 SELECT 쿼리의 결과물을 하나로 묶고 싶을 때 사용할 수 있는 오라클의 operator이다.

UNION과 UNION ALL의 차이

둘의 차이는 UNION은 합쳐진 결과에서 중복을 제거하고 반환하고, UNION ALL에서는 중복을 포함하여 반환한다는 것이다.
다음 그림을 보면 더욱 쉽게 이해할 수 있을 것이다.


첫번째 그림에서 T1과 T2를 UNION으로 합친 결과 둘 사이의 중복은 제거되어 반환되었다. (1, 2, 3, 4)
두 번째 그림을 보면 UNION ALL을 한 결과 둘 사이의 중복은 그대로 모두 합쳐져서 반환 되었다. (1, 2, 3, 2, 3, 4)

UNION과 JOIN의 차이

SELECT쿼리 결과를 하나로 합치는 것에는 UNION외에도 JOIN이라는 operator가 있다. 이 둘의 차이는 무엇인가? 그건 다음과 같다.

이렇게 UNION은 수직으로 결과물을 합치지만, JOIN은 수평으로 결과물을 합친다. 이런 식의 차이를 인식하고 사용해야 한다.

UNION, UNION ALL의 사용 예제

	SELECT COLUM1, COLUM2
    FROM TABLE 
    WHERE COLUM = 1
    
    UNION --OR UNION ALL
    
    SELECT COLUM1, COLUM2
    FROM TABLE
    WHERE COLUM = 2
    
    ORDER BY COLUM 1 --ORDER BY는 쿼리문 맨 마지막에 작성한다.
    ;

참고

https://www.oracletutorial.com/oracle-basics/oracle-union/

profile
웹개발

0개의 댓글