Subquery

eden6187·2021년 3월 11일
0

DB

목록 보기
6/6
post-thumbnail

Subquery가 뭔가요?

[ Subquery란? ]

Subquery는 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문을 말한다.

Subquery를 사용할 때에는 다음과 같은 사항을 유의하자.

  • 서브쿼리를 괄호로 감싸서 사용한다.

  • 서브쿼리는 단일 행 또는 복수 행 비교 연산자와 함께 사용 할 수 있다. 단일 행 비교 연산자는 서브쿼리의 결과가 반드시 1건 이하여야 하고 복수 행 비교 연산자는 서브쿼리의 결과 건수와 상관이 없다.

  • 서브쿼리에서는 ORDER BY를 사용할 수 없다.

  • 서브쿼리는 메인 테이블에 접근 할 수 있지만 메인테이블은 서브 쿼리에서 사용된 테이블에 접근 할 수 없다.

[ 동작하는 방식에 따른 서브쿼리 분류 ]

서브 쿼리 종류설명
Un-Correlated서브쿼리가 메인쿼리의 칼럼을 가지고 있지 않음
Correlated서브쿼리가 메인쿼리 칼럼을 가지고 있음.
메인 쿼리를 먼저 수행한 후 서브 쿼리에서 조건이 맞는지 확인 하고자 할 때 주로 사용된다.

[ 반환되는 데이터 형태에 따른 서브쿼리 분류 ]

서브 쿼리 종류설명
Single Row결과가 1건 이하
Multi Row결과가 2건 이상이다. 즉, 다중행

서브 쿼리 종류설명
Multi Column여러 개의 Column을 반환 메인 쿼리의 조건절에 여러 칼럼을 동시에 비교 가능

[ 서브쿼리 관련 용어들 ]

서브 쿼리 이름설명
Scalar Subquery결과값이 1개 (1 Row 1 Col) 인 서브 쿼리
Inline View결과값이 1개 (1 Row 1 Col) 인 서브 쿼리

0개의 댓글