관리 메뉴

플랫폼공작소 IT Blog

[SQLD 강의] UNION과 UNION ALL을 사용하는 방법 본문

2. 강의실/[5분 SQLD]

[SQLD 강의] UNION과 UNION ALL을 사용하는 방법

솜픽(Sompic) 플랫폼공작소 2020. 3. 26. 13:15

안녕하세요. 플랫폼공작소입니다. 오늘은 UNIONUNION ALL에 대해서 알아보도록 하겠습니다.


1. UNION 연산이란? 

- UNION DISTINCT의 줄인 말로 두 개의 테이블을 하나로 합치면서 + 중복된 데이터는 제거하는 연산입니다.


2. UNION ALL 연산이란?

- 두 개의 테이블을 합치는 것인데 UNION과 다른 점은 중복을 제거하지 않는다는 것입니다.


3. UNION의 사용방법?

UNION을 사용하는 방법은 다음과 같습니다두 개의 SELECT 문장 사이에 UNION을 기술해주시면 됩니다.



UNION을 사용하실 때 주의할 점은, 두 개의 테이블을 합치는 것이기 때문에 제가 보라색 글씨로 강조한 것처럼 칼럼 명과 순서 심지어 데이터 형식까지 똑같이 맞춰줘야 한다는 것입니다.


3-1 UNION을 표로 이해하기!

위와 같은 데이터를 가진 테이블 A와 B가 있다고 가정하겠습니다.


두 테이블을 대상으로 UNION 연산을 실행하며, 중복이 제거되어서 다음과 같은 결과를 얻을 수 있습니다.



4. UNION ALL 사용방법은?

UNION ALL을 사용하는 방법은 다음과 같습니다


SELECT 문장 사이에 UNION ALL을 기술해주시면 됩니다. UNION ALL도 어찌되었든 두 개의 테이블을 합치는 것이기 때문에 UNION과 마찬가지로 칼럼명과 순서 그리고 데이터 형식까지 맞춰주셔야 합니다.


4-1 UNION ALL을 표로 이해하기!

UNION에서 들었던 예시와 똑같이 위와 같은 데이터를 가진 테이블 AB가 있다고 가정하겠습니다.


UNION ALL은 중복을 제거하지 않으니 그냥 밑에 무식하게 붙어버리는 모습을 확인할 수 있습니다.



요즘은 웹에서 오라클을 실행할 수도 있네요.

오늘 예제에서 다뤘던 SQL을 공유해드리니 참고하시거나 공유하셔도 좋습니다.


URL : https://sqltest.net


오늘은 UNION 그리고 UNION ALL에 대해서 알아보았습니다. UNIONUNION ALL은 사실 좋은 SQL이 아닙니다. 특히 UNION은 실행 과정에서 중복을 제거하는 과정을 거치기 때문에 레코드 건수가 많아질수록 실행시간이 오래걸리는 연산입니다. UNION이든 UNION ALL이든 이 연산을 꼭 써야하는 상황이라면 꼭 필요한 컬럼한 SELECT하는 것이 좋겠고 중복제거가 꼭 필요한 것이 아니라면 UNION보다는 UNION ALL사용하는게 좋겠습니다.


포스팅 읽어주셔서 감사합니다.

문사항이 있으면 댓글남겨주시면 답변드리겠습니다.



reference : 오라클 11g + PL/SQL 입문

reference : SQL 개발자 이론서 + 문제집

광고 링크 : 플랫폼공작소플랫폼공작소TV쇼핑몰



0 Comments
댓글쓰기 폼