Recent Posts
간단명료
서브쿼리 본문
SELECT, WHERE, ORDER BY 절에 사용하는 서브쿼리를 스칼라서브쿼리
라고 한다.
서브쿼리는 GROUP BY 절에는 사용할 수 없다.
SELECT
(SELECT....) --Scalar Subquery
FROM
(SELECT....) --Inline View
WHERE
(SELECT....) --Nested Subquery OR Correlated Subquery(Scalar Subquery)
GROUP BY --사용 불가
ORDER BY
(SELECT....) --Scalar Subquery
1. WHERE 절 서브쿼리
WHERE 절 서브쿼리(스칼라서브쿼리)에서 메인쿼리 컬럼을 사용하지 않으면 Nested Subquery
, 메인쿼리 컬럼을 사용하면 Correlated Subqyery
라 한다.
1) Nested Subquery
메인쿼리보다 먼저 동작한다.(단, 서브쿼리와 연산하는 메인쿼리의 컬럼이 인덱스가 존재해야 함)
2) Correlated Subquery
메인쿼리보다 나중에 동작한다.
메인쿼리에서 데이터를 읽고 있는 Row 수 만큼 서브쿼리가 실행된다.
2. Scalar Subquery
1) One Row, One Column
- 단 하나의 데이터와 하나의 컬럼에 대한 정보를 리턴 한다.
- 0 건 -> Null
2 이상 건 -> Error
2) 사용 위치
Select List 항목, 함수의 인자, WHERE절의 조건, ORDER BY 절, CASE 절, CASE 결과절
출처 : EZ Learning - [업무에 바로 쓰는 SQL튜닝 입문] 강의
728x90
반응형
'SQL > 업무에 바로 쓰는 SQL튜닝 입문' 카테고리의 다른 글
NL(Nested Loops) 조인 (0) | 2022.03.31 |
---|---|
인덱스 활용이 불가능한 경우 (0) | 2022.03.26 |
결합인덱스 (0) | 2022.03.26 |
인덱스 (0) | 2022.03.26 |
옵티마이저 (0) | 2022.03.26 |
Comments