본문 바로가기
데이터베이스/SQLD

[SQLD 도전기] SQL 활용(2) - 집합 연산자(SET OPERATOR)

by 썬키 2022. 10. 26.

본문 내용은 모두 필자가 공부하며 직접 정리한 내용입니다.

Kdata 데이터자격검정의 SQL 개발자(SQLD) 가이드를 참고하였습니다.

 

─지난 글 보기─

 

[SQLD 도전기] SQL 활용(1) - 표준 조인(STANDARD JOIN)

본문 내용은 모두 필자가 공부하며 직접 정리한 내용입니다. Kdata 데이터자격검정의 SQL 개발자(SQLD) 가이드를 참고하였습니다. ─지난 글 보기─ [SQLD 도전기] SQL 기본(9) - 조인(JOIN) 본문 내용은

itsmesunky.tistory.com

과목 2 SQL 기본 및 활용

 

제 2장 SQL  활용

제 2절 집합 연산자(SET OPERATOR)

ㆍ두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회하는 방법 중 하나

ㆍ여러 개의 질의의 결과를 연결하여 하나로 결합하는 방식을 사용

ㆍ서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때 사용

ㆍ동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때 사용

ㆍ튜닝관점에서 실행계획을 분리하고자 하는 목적으로도 사용

SELECT 절의 칼럼 수가 동일하고 SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능해야 한다.

 

출처 : Kdata 데이터자격검정
출처 : Kdata 데이터자격검정

ㆍ집합 연산자는 개별 SQL문의 결과 집합에 대해

합집합(UNION / UNION ALL), 교집합(INTERSECT), 차집합(EXCEPT)으로 집합간의 관계를 가지고 작업을 한다.

 

SELECT 칼럼명1, 칼럼명2, ... 
FROM 테이블명1 
[WHERE 조건식 ] 
[[GROUP BY 칼럼(Column)이나 표현식 
[HAVING 그룹조건식 ] ] 
집합 연산자 
SELECT 칼럼명1, 칼럼명2, ... 
FROM 테이블명2 
[WHERE 조건식 ] 
[[GROUP BY 칼럼(Column)이나 표현식 
[HAVING 그룹조건식 ] ] 
[ORDER BY 1, 2 [ASC또는 DESC ] ; 
----------------------------------------------------------
SELECT PLAYER_NAME 선수명, BACK_NO 백넘버 
FROM PLAYER 
WHERE TEAM_ID = 'K02' 
UNION 
SELECT PLAYER_NAME 선수명, BACK_NO 백넘버 
FROM PLAYER 
WHERE TEAM_ID = 'K07' ORDER BY 1;

ㆍ집합 연산자는 사용상의 제약조건을 만족한다면 어떤 형태의 SELECT문이라도 이용할 수 있다.

ㆍORDER BY는 집합 연산을 적용한 최종 결과에 대한 정렬 처리이므로 가장 마지막 줄에 한번만 기술한다.

 

 

 

 

다음에는 계층형 질의와 셀프 조인에 관한 내용을 정리하여 포스팅하겠습니다.

댓글