티스토리 뷰

DB/SQLD

SQLD정리 노트#1

koyuchang 2020. 8. 31. 22:17

 

not exists
exist: 결괏값이 하나라도 존재하면 True, 아니면 false.
exist에 not을 붙여주면 exist값에 반대 결과가 나온다.

 

집합 연산자 종류

▷Union: 합집합, 모든 중복된 행은 하나로 만든다.

▷Union All: 합집합, 중복된 행도 그대로 출력(칼럼 Alias는 첫 번째 SQL모듈 기준으로 된다).

▷Intersect: 교집합, 중복된 행은 하나의 행으로 만든다.

▷Except: 앞의 SQL문의 결과에서 뒤의 결과에 대한 차집합.

 

Prior

▷Connect By절에 사용되며 현재 읽은 칼럼을 지정한다.

▷Prior자식=부모: 부모->자식의 순방향

▷Prior부모=자식: 자식->부모의 역방향

 

NOCYCLE

▷동일한 데이터가 전개 되면 그 이후로 실행 X

 

계층형 질의문

▷CTE(Common Table Expression)를 재귀 호출함으로써 상위부터 하위 방향 전개)

▷Ex)

WITH 테이블명_ANCHOR AS

( SELECT 하위 칼럼명, 칼럼명, 상위 칼럼명, 0 AS LEVEL

FROM 테이블명

WHERE 상위칼럼명 IS NULL /* 재귀 호출의 시작점 */

UNION ALL

SELECT R. 칼럼명, R.칼럼명, R. 계층 칼럼명, A.LEVEL + 1

FROM 테이블명_ANCHOR A, 테이블명 R

WHERE A. 하위 칼럼 = R. 상위 칼럼 )

WITH 절의 CTE 쿼리를 보면 UNION 연산자로 쿼리 두 개를 결합.

위의 쿼리를 앵커 멤버, 아래의 쿼리를 재귀 멤버라고 함.

 

재귀적 쿼리의 처리 과정

 CTE 식을 앵커 멤버와 재귀 멤버로 분할

 앵커 멤버를 실행하여 첫 번째 호출 또는 기본 결과 집합 T(0) 생성

 T(i)는 입력으로 사용하고 T(i)+1은 출력으로 사용하여 재귀 멤버 실행

빈 집합이 반환될 때까지 3단계 반복 5. 결과 집합을 반환. T(0)에서 T(n)까지의 UNION ALL

 

셀프 조인(SELF JOIN)

▷동일 테이블 사이의 조인을 말한다. 따라서 From 절에 동일 테이블이 두 번 이상 나타난다.

▷동일 테이블 사이의 조인을 수행하면 테이블과 칼럼 이름이 모두 동일하기 때문에 식별을 위해 반드시 테이블 별칭(Alias)을 사용해야 한다.

▷Ex)

      SELECT ALIAS명 1. 칼럼명 1, ALIAS명 2. 칼럼명 1,....

      FROM 테이블명 ALIAS명 1, 테이블명 ALIAS명 2

      WHERE ALIAS명 1. 칼럼명 2 = ALIAS명 2. 칼럼명 1

 

Window Function

▷행과 행 간의 관계를 쉽게 정의하기 위해 만든 함수

 

서브 쿼리

▷단일 행 서브 쿼리: 서브 쿼리의 실행 결과가 항상 1건 이하인 서브 쿼리(=,<, <=,>,>=,<>)

▷다중 행 서브 쿼리: 서브 쿼리의 실행 결과가 여러 건인 서브 쿼리(IN, ALL, ANY, SOME, EXISTS)

▷다중 칼럼 서브 쿼리: 서브쿼리의 실행 결과로 여러 컬럼을 반환한다. 메인쿼리의 조건절에 여러 칼럼을 동시에 비교할 수 있다. 메인쿼리에서 비교하고자 하는 칼럼 개수와 칼럼의 위치가 동일해야 한다.

 

동작 방식에 따른 서브쿼리 분류

비연관 서브 쿼리: 서브 쿼리가 메인 쿼리 칼럼을 갖고 있지 않은 형태. 메인쿼리에 값을 제공하기 위한 목적으로 주로 사용.

연관 서브쿼리: 서브쿼리가 메인쿼리 칼럼을 가지고 있는 형태. 일반적으로 메인 쿼리가 먼저 수행되어 읽힌 데이터를 서브 쿼리에서 조건이 맞는지 확인하고자 할 때 주로 사용.

 

'DB > SQLD' 카테고리의 다른 글

SQLD정리 노트#3  (0) 2020.09.02
SQLD정리 노트#2  (0) 2020.09.01
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함