반응형
20231027 (금) 19:20 - 20:04
union 절 + union all 절 + union 절 을 select 하면
- 컬럼명은 union all을 하기 전에 컬럼명이 되고
- 결과값은 union all이 나오는데
- 또 union 이 나중에 수행이 되서 중복 데이터가 모두 제거된다.
- union all 절로 끝나면 중복 데이터를 제거 하지 않아 count를 하면 컬럼 합한 수가 나온다.
union all 절만 할 경우
select A, B, C from table1
union all
select A, B, C from table2;
A B C
A1 | B1 | C1 |
A2 | B2 | C2 |
A3 | B3 | C3 |
A1 | B2 | C1 |
A3 | B1 | C3 |
union all 앞에 테이블이 컬럼명으로 나오고 밑에 결과값이 나오면서 그밑에 union all 다음에 있는 table2 의 결과 값이 내려옴 중복 데이터 제거 안함
Intersection
- Intersection은 데이터베이스에서 교집합 기능을 하는 집합 연산이다.
EXCEPT 연산자
- 일부 SQL 데이터베이스 시스템에서 사용되는 연산자로 ,두개의 집합 사이에서 차집합을 반환하는 역할을 한다. 즉, 첫 번째 집합에는 포함되지만 두 번째 집합에는 포함되지 않는 행을 결과로 제공합니다.
- EXCEPT 연산자를 사용하려면 두개의 SELECT문 또는 서브쿼리를 비교해야 합니다.
START WITH 절
- 계층 구조의 시작점을 지정하는 구문이다
ORDER SIBLINGS BY 절
- 형제 노드(동일LEVEL)사이에서 정렬을 수행한다.
순방향전개란?
- 부모 노드로부터 자식 노드방향으로 전개하는 것을 말한다.
루드 노드의 LEVEL값은 1이라고 한다.
PRIOR
- connect by 절에 사용되며, 현재 읽은 칼럼을 지정한다.
- PRIOR 자식 = 부모 형태를 사용하면 계층구조에서 부모 데이터에서 자식 테이터(부모 → 자식) 방향으로 전개하는 순방향 전개를 한다.
- 그리고 PRIOR 부모 = 자식 형태를 사용하면 반대로 자식 데이터에서 부모 데이터 (자식 → 부모) 방향으로 전개하는 역방향 전개를 한다.
테이블 계층형
- 테이터가 존재하는 경우 데이터를 조회하기 위해서 계층형 질의를 사용한다.
- 계층형 데이터란 동일 테이블에 계층적으로 상위와 하위 데이터가 호함된 데이를 말한다.
- 예를 들어, 사원 테이블에서는 상위 사원(관리자)과 하위 사원 관계가 존재하고 조직 테이블에서는 조식들 사이에 상위 조직과 하위 조직 관계가 존재한다.
- 오라클 계층형 질의문에서 PRIOR 키워드는 connect by, select, where 절에서 사용 가능
Self Join
동일 테이블 사이의 조인을 말한다. 따라서 FROM절에 동일 테이블이 두번 이상 나타난다. 동일 테이블 사이의 조인을 수행하면 테이블과 칼럼 이름 모두 동일하기 때문에 식별을 위해 반드시 테이블 별칭 (Alias)를 사용해야 한다.
SELECT
ALIAS1.칼럼명
, ALIAS2.칼럼명
FROM
TABLE ALIAS1
, TALB ALIAS2
WHERE
ALIAS1.칼럼명 = ALIAS2.칼럼명
서브쿼리의 결과가 복수 행 결과를 반환하는 경우에는 IN, ALL, ANY등의 복수 행과 연산자와 사용해야 한다
다중 컬럼 서브쿼리는 서브쿼리의 결과로 여러 개의 컬럼이 반환되어 메인 쿼리의 조건과 비교되는데, SQL Server에서는 현재 지원하지 않는 기능이다.
반응형
'SQL Developer > SQLD 공부' 카테고리의 다른 글
SQLD 자격증 공부 7일차 (GROUPING SETS / 윈도우 함수 / RANK / DENSE_RANK / PARIRION BY /ROW_NUMBER / 권한 주는 명령어 / ROLE (1) | 2023.11.01 |
---|---|
SQLD 자격증 공부 6일차 (서브쿼리, <>비교 연산자, 뷰(View), ROLLIP 함수, CUBE) (0) | 2023.10.30 |
SQLD 자격증 공부 (4일차) (2) | 2023.10.27 |
SQLD 자격증 공부 3일차 (1) | 2023.10.24 |
SQLD 자격증 공부 2 일차 (1) | 2023.10.23 |