계층형 질의
테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해 사용
START WITH : 계층 구조 전개의 시작 위치에 지정
CONNECT BY : 다음에 전개될 자식 데이터 지정
PRIOR : CONNECT BY 절에 사용되며 현재 읽은 칼럼을 지정한다. PORIOR 자석 = 부모 형태를 데이터(부모 -> 자식) 방향으로 전개하는 순방향 전개를 한다. 반대는 역방향 전개
NOCYCLE : 동일한 데이터가 전개되지 않음
ORDER SIBLINGS BY : 형제 노드 간의 정렬 수행
WHERE : 모든 전개를 수행한 후에 지정된 조건을 만족하는 데이터만 추출한다.
LEVEL : 루프데이터이면 1, 그 하위 데이터이면2, 리프 데이터까지 1씩 추가
CONNECT_BY_ISLEAF : 해당 데이터가 리프데이터이면 1, 그렇지 않으면 0
SYS_CONNECT_BY_PATH : 해당 데이터가 조상이면1, 아니면 0 (CYCLE 옵션을 사용했을 때만 사용 가능)
CONNECT_BY_ROOT : 현재 전개할 데이터의 루트 데이터를 표시한다. 단항 연산자이다.
셀프 조인
한 테이블 내 두 칼럼이 연관 관계가 있을 때 동일 테이블 사이의 조인, FROM절에 동일 테이블이 2번 이상 나타난다. 반드시 테이블 별칭을 사용해야 함.
서브 쿼리
하나의 SQL문안에 포함되어 있는 또 다른 SQL문, 알려지지 않은 기준을 이용한 검색에 사용
서브쿼리 사용 시 주의 사항
- 서브쿼리를 괄호로 감싸서 사용한다.
- 서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용 가능하다. 단일 행 비교 연산자는 서브쿼리의 결과가 반드시 1건 이하이어야 하고 복수 행 비교 연산자는 서브쿼리의 결과 건수와 상관없다.
- 서브쿼리에서는 OREDER BY를 사용하지 못한다.
- 서브쿼리가 사용 가능한 곳
SELECT, FROM, WHERE, HAVING, ORDER BY, INSERT문의 VALUES, UPDATE문의 SET
서브쿼리의 분류
동작하는 방식에 따른 서브쿼리 분류
- 비 연관 서브쿼리 : 서브쿼리가 메인쿼리 칼럼을 가지지 않음, 메인쿼리에 값을 제공하기 위한 목적
- 연관 서브쿼리 : 서브쿼리가 메인쿼리 칼럼을 가지고 있음, 읽힌 데이터를 서브쿼리에 조건이 맞는지 확인
반환 데이터에 따른 서브쿼리 분류
- 단일 행 서브쿼리 : 실행 결과가 항상 1건 이하인 서브쿼리, 비교 연산자와 함께 사용 (=, <, >, <=, >=,...)
- 다중 행 서브쿼리 : 실행 결과가 여러 건인 서브쿼리, 다중 행 비교 연산자와 함께 사용 (IN, ALL, ANY, SOME, EXISTS)
- 다중 커럼 서브쿼리 : 실행 결과가 여러 칼럼, 메인 쿼리의 조건절에 여러 칼럼을 동시에 비교할 수 없다. 비교하고자 하는 칼럼의 개수와 칼럼의 위치가 동일해야 한다.
뷰
테이블은 실제로 데이터를 가지고 있는 반면, 뷰는 실제 데이터를 가지고 있지 않다. 가상 테이블이라고 함.
실행 시점에 SQL 재작성하여 수행됨.
인라인 뷰
FROM 절에서 사용되는 서브쿼리, ORDER BY를 사용 가능
뷰 사용 장점
1. 독립성 : 테이블 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경하지 않아도 된다.
2. 편리성 : 복잡한 질의를 뷰로 생성함으로써 관련 질의를 단순하게 작성할 수 있다.
3. 보안성 : 직원의 급여 정보와 같이 숨기고 싶은 정보가 존재할 때 사용한다.
CREATE VIEW V_PLAYER AS SELECT...;
DROP VIEW V_PLAYER_TEAM
참고 사이트
요약 정리본 : https://yurimac.tistory.com/40
SQL) SQLD 이론 요약 정리 PDF
13페이지 분량의 SQLD 이론 요점 정리 PDF 파일을 공유합니다. 원본에서 필요하다 생각된 부분들을 추가, 삭제했습니다. 나름 오래 걸렸네요.. 🥲 2장 3절인 SQL 최적화 부분은 개정판부터 제거됐다
yurimac.tistory.com
DATE ON-AIR: https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=5&mod=list
SQL – DATA ON-AIR
dataonair.or.kr
'자격증 > SQLD자격증' 카테고리의 다른 글
DCL (0) | 2023.08.11 |
---|---|
그룹 함수, 윈도우 함수 (0) | 2023.08.11 |
표준 조인 (0) | 2023.08.10 |
조인 (JOIN) (0) | 2023.08.08 |
함수 (FUNCTION) (0) | 2023.08.08 |
계층형 질의
테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해 사용
START WITH : 계층 구조 전개의 시작 위치에 지정
CONNECT BY : 다음에 전개될 자식 데이터 지정
PRIOR : CONNECT BY 절에 사용되며 현재 읽은 칼럼을 지정한다. PORIOR 자석 = 부모 형태를 데이터(부모 -> 자식) 방향으로 전개하는 순방향 전개를 한다. 반대는 역방향 전개
NOCYCLE : 동일한 데이터가 전개되지 않음
ORDER SIBLINGS BY : 형제 노드 간의 정렬 수행
WHERE : 모든 전개를 수행한 후에 지정된 조건을 만족하는 데이터만 추출한다.
LEVEL : 루프데이터이면 1, 그 하위 데이터이면2, 리프 데이터까지 1씩 추가
CONNECT_BY_ISLEAF : 해당 데이터가 리프데이터이면 1, 그렇지 않으면 0
SYS_CONNECT_BY_PATH : 해당 데이터가 조상이면1, 아니면 0 (CYCLE 옵션을 사용했을 때만 사용 가능)
CONNECT_BY_ROOT : 현재 전개할 데이터의 루트 데이터를 표시한다. 단항 연산자이다.
셀프 조인
한 테이블 내 두 칼럼이 연관 관계가 있을 때 동일 테이블 사이의 조인, FROM절에 동일 테이블이 2번 이상 나타난다. 반드시 테이블 별칭을 사용해야 함.
서브 쿼리
하나의 SQL문안에 포함되어 있는 또 다른 SQL문, 알려지지 않은 기준을 이용한 검색에 사용
서브쿼리 사용 시 주의 사항
- 서브쿼리를 괄호로 감싸서 사용한다.
- 서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용 가능하다. 단일 행 비교 연산자는 서브쿼리의 결과가 반드시 1건 이하이어야 하고 복수 행 비교 연산자는 서브쿼리의 결과 건수와 상관없다.
- 서브쿼리에서는 OREDER BY를 사용하지 못한다.
- 서브쿼리가 사용 가능한 곳
SELECT, FROM, WHERE, HAVING, ORDER BY, INSERT문의 VALUES, UPDATE문의 SET
서브쿼리의 분류
동작하는 방식에 따른 서브쿼리 분류
- 비 연관 서브쿼리 : 서브쿼리가 메인쿼리 칼럼을 가지지 않음, 메인쿼리에 값을 제공하기 위한 목적
- 연관 서브쿼리 : 서브쿼리가 메인쿼리 칼럼을 가지고 있음, 읽힌 데이터를 서브쿼리에 조건이 맞는지 확인
반환 데이터에 따른 서브쿼리 분류
- 단일 행 서브쿼리 : 실행 결과가 항상 1건 이하인 서브쿼리, 비교 연산자와 함께 사용 (=, <, >, <=, >=,...)
- 다중 행 서브쿼리 : 실행 결과가 여러 건인 서브쿼리, 다중 행 비교 연산자와 함께 사용 (IN, ALL, ANY, SOME, EXISTS)
- 다중 커럼 서브쿼리 : 실행 결과가 여러 칼럼, 메인 쿼리의 조건절에 여러 칼럼을 동시에 비교할 수 없다. 비교하고자 하는 칼럼의 개수와 칼럼의 위치가 동일해야 한다.
뷰
테이블은 실제로 데이터를 가지고 있는 반면, 뷰는 실제 데이터를 가지고 있지 않다. 가상 테이블이라고 함.
실행 시점에 SQL 재작성하여 수행됨.
인라인 뷰
FROM 절에서 사용되는 서브쿼리, ORDER BY를 사용 가능
뷰 사용 장점
1. 독립성 : 테이블 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경하지 않아도 된다.
2. 편리성 : 복잡한 질의를 뷰로 생성함으로써 관련 질의를 단순하게 작성할 수 있다.
3. 보안성 : 직원의 급여 정보와 같이 숨기고 싶은 정보가 존재할 때 사용한다.
CREATE VIEW V_PLAYER AS SELECT...;
DROP VIEW V_PLAYER_TEAM
참고 사이트
요약 정리본 : https://yurimac.tistory.com/40
SQL) SQLD 이론 요약 정리 PDF
13페이지 분량의 SQLD 이론 요점 정리 PDF 파일을 공유합니다. 원본에서 필요하다 생각된 부분들을 추가, 삭제했습니다. 나름 오래 걸렸네요.. 🥲 2장 3절인 SQL 최적화 부분은 개정판부터 제거됐다
yurimac.tistory.com
DATE ON-AIR: https://dataonair.or.kr/db-tech-reference/d-guide/sql/?pageid=5&mod=list
SQL – DATA ON-AIR
dataonair.or.kr
'자격증 > SQLD자격증' 카테고리의 다른 글
DCL (0) | 2023.08.11 |
---|---|
그룹 함수, 윈도우 함수 (0) | 2023.08.11 |
표준 조인 (0) | 2023.08.10 |
조인 (JOIN) (0) | 2023.08.08 |
함수 (FUNCTION) (0) | 2023.08.08 |