조인을 사용하지 않고 연관된 데이터를 조회하는 방법

여러개의 질의의 결과를 연결하여 하나로 결합하는 방식, 2개이상의 질의 결과를 하나로 만들어줌

사용 목적

  • 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자
  • 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자
  • 튜닝관점에서 실행계획을 분리하고자 하는 목적

제약 조건

  • SELECT 절의 칼럼수가 동일
  • 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능해야 (동일한 데이터 타입일 필요 없음)

 

집합 연산자의 종류

집합 연산자

연산자의 의미

UNION

여러 개의 SQL문의 결과에 대한 합집합으로 결과에서 모든 중복된 행은 하나의 행으로 만듬

UNION ALL

여러 개의 SQL문의 결과에 대한 합집합으로 중복된 행도 그래도 결과에 출력, 상호 배타적일때 사용

INTERSECT

여러 개의 SQL문의 결과에 대한 교집합으로 중복된 행은 하나의 행으로 만듬

EXCEPT

SQL문의 결과에서 SQL 문의 결과에 대한 차집합

중복된 행은 하나의 행으로 만듬 ORACLE MINUS 사용

 

save image

 

 

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 문을 연결하는 것에 지나지 않으나

ORDER BY 문은 최종 경과에 대한 정렬으로 마지막 줄에 한번만 기술

 

UNION 연산자 사용하여 IN연산자와 OR연산자는 정렬 순서만 다를 같은 결과값을

그룹함수도 집합연산자 사용이 가능함, GUBUN코드를 추가하여 사용 가능


'자격증 공방 > SQLD' 카테고리의 다른 글

제 4-4절 서브쿼리  (0) 2018.07.11
제 4-3절 계층형 질의와 셀프 조인  (0) 2018.07.11
제 4-1절 표준 조인  (0) 2018.07.11
제 3-9절 조인(JOIN)  (0) 2018.07.07
제 3-8절 ORDER BY절  (0) 2018.07.07

+ Recent posts