데이터베이스 서브 쿼리: Difference between revisions

From CS Wiki
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 20: Line 20:
형태별
형태별
| 단일행 서브쿼리
| 단일행 서브쿼리
| 서브쿼리의 실행결과가 항상 1건 이하인 서브쿼리. 단일행 비교연산자 (=, <, <=, >, >=, <>)와 함께 사용
|  
* 서브쿼리의 실행결과가 항상 1건 이하인 서브쿼리
* 단일행 비교연산자 (=, <, <=, >, >=, <>)와 함께 사용
|-
|-
| 다중행 서브쿼리
| 다중행 서브쿼리
| 서브쿼리의 실행결과가 여러 건인 서브쿼리. 다중행 비교연산자 (IN, ALL, ANY, SOME, EXISTS)와 함께 사용
|  
* 서브쿼리의 실행결과가 여러 건인 서브쿼리
* 다중행 비교연산자 (IN, ALL, ANY, SOME, EXISTS)와 함께 사용
|-
|-
| 다중칼럼 서브쿼리
| 다중칼럼 서브쿼리
| * 서브쿼리의 실행결과로 여러 칼럼을 반환한다. 메인쿼리의 조건절에 여러 칼럼을 동시에 비교 가능
|  
* 서브쿼리와 메인쿼리에서 비교하고자 하는 칼럼개수와 위치가 동일
* 서브쿼리의 실행결과로 여러 칼럼을 반환한다.  
* 서브쿼리와 메인쿼리에서 비교하고자 하는 칼럼 개수와 위치가 동일
|-
|-
| rowspan="2" | 동작방식별
| rowspan="2" | 동작방식별
| 비연관 서브쿼리
| 비연관 서브쿼리
| * 서브쿼리가 메인쿼리 칼럼을 가지고 있지 않는 형태의 서브쿼리
|  
* 서브쿼리가 메인쿼리 칼럼을 가지고 있지 않는 형태의 서브쿼리
* 메인쿼리에 값(서브쿼리가 실행된 결과)을 제공하기 위한 목적으로 주로 사용
* 메인쿼리에 값(서브쿼리가 실행된 결과)을 제공하기 위한 목적으로 주로 사용
|-
|-
| 연관 서브쿼리
| 연관 서브쿼리
| * 서브쿼리가 메인쿼리의 칼럼을 사용하는 형태의 서브쿼리
|  
* 서브쿼리가 메인쿼리의 칼럼을 사용하는 형태의 서브쿼리
* 메인쿼리가 먼저 수행되어 읽혀진 데이터를 서브쿼리에서 조건이 맞는지 확인하고자 할 때 사용
* 메인쿼리가 먼저 수행되어 읽혀진 데이터를 서브쿼리에서 조건이 맞는지 확인하고자 할 때 사용
|}
|}

Latest revision as of 11:26, 10 November 2019

Sub Query
구분 종류 설명
위치별 Nested Subquery WHERE절에 위치하고, 가장 먼저 개발됨
Inline View FROM절에 위치하고, SQL 내 절차성 효과
Scalar Subquery SELECT절에 위치하고, 가장 최근에 개발됨
반환 데이터

형태별

단일행 서브쿼리
  • 서브쿼리의 실행결과가 항상 1건 이하인 서브쿼리
  • 단일행 비교연산자 (=, <, <=, >, >=, <>)와 함께 사용
다중행 서브쿼리
  • 서브쿼리의 실행결과가 여러 건인 서브쿼리
  • 다중행 비교연산자 (IN, ALL, ANY, SOME, EXISTS)와 함께 사용
다중칼럼 서브쿼리
  • 서브쿼리의 실행결과로 여러 칼럼을 반환한다.
  • 서브쿼리와 메인쿼리에서 비교하고자 하는 칼럼 개수와 위치가 동일
동작방식별 비연관 서브쿼리
  • 서브쿼리가 메인쿼리 칼럼을 가지고 있지 않는 형태의 서브쿼리
  • 메인쿼리에 값(서브쿼리가 실행된 결과)을 제공하기 위한 목적으로 주로 사용
연관 서브쿼리
  • 서브쿼리가 메인쿼리의 칼럼을 사용하는 형태의 서브쿼리
  • 메인쿼리가 먼저 수행되어 읽혀진 데이터를 서브쿼리에서 조건이 맞는지 확인하고자 할 때 사용