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

From CS Wiki
(새 문서: 분류:데이터베이스 ;Sub Query {| class="wikitable" ! 구분 ! 종류 ! 설명 |- | rowspan="3" | 위치별 | Nested Subquery | Where절에 위치하고, 가장 먼저 개...)
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 9: Line 9:
| rowspan="3" | 위치별
| rowspan="3" | 위치별
| Nested Subquery
| Nested Subquery
| Where절에 위치하고, 가장 먼저 개발됨
| WHERE절에 위치하고, 가장 먼저 개발됨
|-
|-
| Inline View
| FROM절에 위치하고, SQL 내 절차성 효과
| FROM절에 위치하고, SQL 내 절차성 효과
|
|-
|-
| Scalar Subquery
| SELECT절에 위치하고, 가장 최근에 개발됨
| SELECT절에 위치하고, 가장 최근에 개발됨
|
|-
|-
| rowspan="3" | 반환데이터형태별
| rowspan="3" | 반환 데이터
형태별
| 단일행 서브쿼리
| 단일행 서브쿼리
| 서브쿼리의 실행결과가 항상 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)와 함께 사용
다중칼럼 서브쿼리
  • 서브쿼리의 실행결과로 여러 칼럼을 반환한다.
  • 서브쿼리와 메인쿼리에서 비교하고자 하는 칼럼 개수와 위치가 동일
동작방식별 비연관 서브쿼리
  • 서브쿼리가 메인쿼리 칼럼을 가지고 있지 않는 형태의 서브쿼리
  • 메인쿼리에 값(서브쿼리가 실행된 결과)을 제공하기 위한 목적으로 주로 사용
연관 서브쿼리
  • 서브쿼리가 메인쿼리의 칼럼을 사용하는 형태의 서브쿼리
  • 메인쿼리가 먼저 수행되어 읽혀진 데이터를 서브쿼리에서 조건이 맞는지 확인하고자 할 때 사용