코딩항해기

[DBMS/Oracle] 집합 연산자 본문

DBMS/Oracle

[DBMS/Oracle] 집합 연산자

miniBcake 2024. 8. 3. 19:53

 

 

집합 연산자는 예전 where절과 연산자를 다룰 때 함께 다룬 적이 있다.

Join을 정리하며 제대로 구분 짓기 위해 다시 한 번 더 정리한다.

 

 

[DBMS/Oracle] WHERE절과 연산자

WHERE절WHERE절은 SELECT문으로 데이터를 조회할 때 특정 조건을 기준으로 원하는 행을 출력할 수 있게 한다.이때 연산자를 사용하면 더욱 세밀한 데이터 조회가 가능하다.SELECT 컬럼1, 컬럼2 FROM 테이

minibcake.tistory.com

 

 

[DBMS/Oracle] JOIN

집합연산자와 JOIN 집합연산자는 결과 값을 세로로 연결한 것이고, JOIN은 두 개 이상의 테이블 데이터를 가로로 연결한 것이다.    JOIN조회하고자하는 테이블이 쪼개져있으면 데이터를 한 눈에

minibcake.tistory.com

 

 

 

집합 연산자

UNION 위 아래의 SELECT문의 결과 값을 합집합으로 묶어주며, 중복값은 제외된다.
UNION ALL 위 아래의 SELECT문의 결과 값을 합집합으로 묶어주며, 중복값도 전부 보여준다.
MINUS 위 아래의 SELECT문의 결과 값을 차집합으로 묶어주며,
상단 테이블의 결과 값 중 존재하지 않는 데이터만 하단 테이블에서 조회된다.
INTERSECT 위 아래의 SELECT문의 결과 값을 차집합으로 묶어 조회된다.

 

컬럼(가로)으로 합쳐지는 JOIN과 달리 로우(세로)로 합쳐진다.

그 때문에 두 SELECT문의 컬럼 개수와 자료형이 순서대로 일치해야 가능하다.

상단의 컬럼명은 상단의 위치한 SELECT문을 기준으로 보여진다.

 

 

1. UNION ALL

SELECT 열1 FROM 테이블1
UNION ALL
SELECT 열1 FROM 테이블2;

 

 

2. UNION

SELECT 열1 FROM 테이블1
UNION
SELECT 열1 FROM 테이블2;

 

 

3. MINUS

SELECT 열1 FROM 테이블1
MINUS
SELECT 열1 FROM 테이블2;

 

 

4. INTERSECT

SELECT 열1 FROM 테이블1
INTERSECT
SELECT 열1 FROM 테이블2;

'DBMS > Oracle' 카테고리의 다른 글

[DBMS/Oracle] SQL 실행 순서 (조건 위치 효율성)  (0) 2024.08.21
[DBMS/Oracle] VIEW  (0) 2024.08.04
[DBMS/Oracle] JOIN  (0) 2024.08.03
[DBMS/Oracle] 테이블 복사 생성하기  (0) 2024.07.31
[DBMS/Oracle] 서브쿼리  (0) 2024.07.30