티스토리 뷰

DATABASE/SQL

[SQL] SUBQUERY

진심스테이크 2018. 4. 20. 12:08

 

 

SubQuery : 한 문장의 절 안에 포함된 또 다른 하나의 문장

- 메인 쿼리 : 서브 쿼리를 포함하고 있는 쿼리문

- 서브 쿼리 : 또 다른 하나의 쿼리

- 서브 쿼리는 메인 쿼리가 실행되기 이전에 한 번만 실행됨

 

 

기본 형태

SELECT 컬럼명 FROM 테이블명 WHERE 조건 (서브쿼리절);

 

 

주의사항

- 반드시 where절에, 비교연산자의 오른쪽에 위치

- 괄호로 묶어서 사용

- 서브 쿼리절 안에 order by절이 들어가면 안됨

 

 

장점

- 한번 디스크에서 읽어온 데이터를 메모리 안에 가공해서 사용할 수 있도록 도와줌

- 동일한 데이터를 다시 한번 이용하여 복잡한 가공에도 물리적인 I/O를 줄여줌

#I/O : Input / Output -> 입출력

 

 

종류

1. 단일행 서브쿼리

- 가장 기본적인 서브 쿼리

- = 연산자 사용

 

2. 다중행 서브쿼리

- 서브 쿼리에서 반환되는 결과 행이 하나 이상일 때 사용

- 다중행 비교 연산자 사용

 

3. 다중컬럼 서브쿼리

- 하나 이상의 컬럼을 메인 쿼리로 반환

 

4. 상호관련 서브쿼리

- 서브 쿼리와 메인 쿼리간에 결과값을 서로 주고받는 식으로 처리

 

 

ANY : 서브 쿼리의 여러개의 결과 중 한가지만 만족

ALL : 서브 쿼리의 여러개의 결과를 모두 만족

 

'DATABASE > SQL' 카테고리의 다른 글

[SQL] SYNONYM - 동의어  (0) 2018.04.20
[SQL] INDEX  (0) 2018.04.20
[SQL] JOIN  (0) 2018.04.20
[SQL] VIEW  (0) 2018.04.19
[SQL] SCHEMA - 스키마  (0) 2018.04.19
댓글