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
더 많은 내용을 알고 싶은 분은 위의 책을 보시길 바랍니다.
긴 글 읽어주셔서 감사합니다.
틀린 부분이 있으면 댓글을 달아주시면 감사하겠습니다.
📧 : may3210@g.skku.edu
'개발 > Oracle' 카테고리의 다른 글
[Database] 테이블 간 관계 맺기 - 외부 조인과 카티션 곱 (0) | 2022.02.15 |
---|---|
[Database] 테이블 간 관계 맺기 - 내부 조인 (0) | 2022.02.15 |
[Database] 데이터 집계 - HAVING (0) | 2022.02.15 |
[Database] 데이터 집계 - GROUP BY (0) | 2022.02.15 |
[DataBase] SQL 연산자와 함수 (0) | 2022.02.15 |