개발/Oracle

[Database] 집합 쿼리

Jinhwan 2022. 2. 15. 10:25

RDBMS는 집합 개념이 적용되어있다. 이러한 집합개념을 쿼리로 만들 수 있는데 그러한 연산자를 집합 연산자라고 부른다.

SQL의 집합연산자는 기본적으로 두 개 이상의 독립적인 SELECT 문장을 연결하는 형태이다. 그렇기 때문에 두 SELECT문이 반환하는 결과의 컬럼 수와 데이터 형은 동일해야한다.


UNION ALL

두 집합의 모든 원소를 가져오는 집합연산자입니다.

Ex) 올바른 집합연산자를 이용한 쿼리

SELECT emp_id, emp_name, gender, age
	FROM emp03
UNION ALL
SELECT emp_id2, emp_name2, gender, age
	FROM emp08

 

Ex) 집합연산자를 사용할 때 컬럼 수가 다른 경우

SELECT emp_id, emp_name, gender, age
	FROM emp03
UNION ALL
SELECT emp_id2, emp_name2, gender
	FROM emp08

 

※ ORDER BY를 집합연산자 이후에 사용하고자 할 때는 첫번째 집합의 컬럼 명으로

ORDER BY를 적용해야한다.


UNION

UNION은 진정한 의미의 합집합을 이야기한다.

두 조회 결과물 중 공통된 부분이 있으면 이를 한번만 출력한다.


INTERSECT

교집합을 추출하는 집합연산자이다.


MINUS

차집합을 계산하는 집합연산자이다.

SELECT A 
MINUS
SELECT B

이는 A -B를 의미한다. 따라서 다른 집합연산자와 달리 순서가 중요하다.


본 글은 '누구나 쉽게 SQL'이라는 책을 읽고 정리한 내용입니다.

http://www.yes24.com/Product/Goods/74311553

 

누구나 쉽게 SQL - YES24

설명은 쉽게 + 기본기는 튼실하게두 마리 토끼를 다 잡은 SQL 입문서!『누구나 쉽게 SQL』 은 데이터베이스의 기초부터 SQL 사용법과 동작 원리까지 반드시 알아야 하는 핵심만 담은 도서이다. 핵

www.yes24.com

더 많은 내용을 알고 싶은 분은 위의 책을 보시길 바랍니다.


긴 글 읽어주셔서 감사합니다.

 

틀린 부분이 있으면 댓글을 달아주시면 감사하겠습니다.

 

📧 : may3210@g.skku.edu

🔗 : https://github.com/RicardoKim