반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. 서브 쿼리(Subquery)

- 다른 쿼리 내부에 포함되어 있는 SELECT 문

- 서브 쿼리(Subquery)를 포함하고 있는 쿼리 -> 외부쿼리, 메인쿼리

- 서브 쿼리는 내부 쿼리라고도 부름

- 서브 쿼리는 비교 연산자의 오른쪽에 기술해야 하고, 반드시 괄호로 감싸야 함

- 서브 쿼리에서는 order by를 사용하지 못함

 

2. 서브 쿼리(Subquery)의 종류

1) 중첩 서브 쿼리(Nested Subquery) Where 문에 작성하는 서브 쿼리

- 단일행

- 복수(다중) 행

- 다중 컬럼

 

2) 인라인(Inline View)

- FROM문에 작성하는 서브 쿼리

 

3) 스칼라 서브 쿼리(Scalar Subquery)

- SELECT문에 작성하는 서브 쿼리

 

3. 서브 쿼리(Subquery)가 사용 가능한 곳

- select

- from

- where

- having

- order by

- insert 문의 values

- update 문의 set

 

4. 서브 쿼리(Subquery)를 사용하는 이유

- 다른 2개의 테이블을 join할 경우에는 쿼리가 복잡하거나 카테시안곱으로 인해 속도가 느려질 수 있다.

- 이럴 때 서브 쿼리를 사용하여 속도 저하 문제를 해결할 수 있음

 

5. 단일행 쿼리(Nested Subquery)

- 단일행 쿼리를 사용했을 때 결과를 단일행으로 리턴

 

6. 다중행 쿼리

- 다중행 쿼리를 사용했을 때 결과를 다중행으로 리턴

- 다중행을 리턴하려면 IN, ANY, ALL을 사용

- ANY는 적어도 하나만 만족하면 true를 리턴

- ALL은 모두 만족하면 true를 리턴

 

7. 인라인 뷰(Inline View)

- FROM절에 사용되는 서브 쿼리

- 서브 쿼리가 FROM절에 사용되면 VIEW처럼 결과가 동적으로 생성된 테이블로 사용 가능

- DB에는 저장되지 않음 -> 임시적으로 만든 뷰(View)이기 때문에

- 동적으로 생성된 테이블이기 때문에 컬럼을 자유롭게 참조가 가능하다.

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기