SELECT select_list
FROM table
WHERE expr operator ( SELECT select_list FROM table );
서브 쿼리( 내부 질의 )는 기본 질의 실행 전에 먼저 실행 된다. 결과는 메인 쿼리( 외부 질의 )에 사용 된다.
서브 쿼리는 테이블의 데이터에 종속된 조건을 사용해 테이블에서 행을 선택할 때 유용하다.
서브 쿼리는 중첩 SELECT문, 하위 SELECT문, 내부 SELECT문이라고도 한다.
operator는 <, >, =, <>, >=, <=의 단일 행 연산자와 IN, ANY, ALL 여러행 연산자를 비교 조건을 포함 한다.
* 서브쿼리는 괄호로 묶어야 한다.
* 읽기 쉽도록 비교 조건의 오른쪽에 서브 쿼리를 넣는다.
* 서브 쿼리에 사용되는 비교 조건은 단일 행 연산자와 다중 행 연산자를 사용 한다.
* Oracle의 경우 8i 릴리스 이전에는 서브 쿼리에 ORDER BY 절을 포함할 수 없다.
ORDER BY 절은 SELECT문에 한 번만 사용할 수 있으며, 지정할 경우 기본 SELECT 문의 마지막 절에 있어야 한다.
8i 릴리스 부터는 Top-N( 최고 순서대로 정렬 ) 분석을 수행하는 데 필요하므로 ORDER BY 절을 사용할 수 있다.
사용 예:
SELECT last_name
FROM employees
WHERE salary > ( SELECT salary FROM employees WHERE last_name like 'Abel' );
서브쿼리는 Abel사원 급여를 출력하고, 메인 쿼리는 해당 급여보다 많은 사원들의 이름을 표시한다.
FROM table
WHERE expr operator ( SELECT select_list FROM table );
서브 쿼리( 내부 질의 )는 기본 질의 실행 전에 먼저 실행 된다. 결과는 메인 쿼리( 외부 질의 )에 사용 된다.
서브 쿼리는 테이블의 데이터에 종속된 조건을 사용해 테이블에서 행을 선택할 때 유용하다.
서브 쿼리는 중첩 SELECT문, 하위 SELECT문, 내부 SELECT문이라고도 한다.
operator는 <, >, =, <>, >=, <=의 단일 행 연산자와 IN, ANY, ALL 여러행 연산자를 비교 조건을 포함 한다.
* 서브쿼리는 괄호로 묶어야 한다.
* 읽기 쉽도록 비교 조건의 오른쪽에 서브 쿼리를 넣는다.
* 서브 쿼리에 사용되는 비교 조건은 단일 행 연산자와 다중 행 연산자를 사용 한다.
* Oracle의 경우 8i 릴리스 이전에는 서브 쿼리에 ORDER BY 절을 포함할 수 없다.
ORDER BY 절은 SELECT문에 한 번만 사용할 수 있으며, 지정할 경우 기본 SELECT 문의 마지막 절에 있어야 한다.
8i 릴리스 부터는 Top-N( 최고 순서대로 정렬 ) 분석을 수행하는 데 필요하므로 ORDER BY 절을 사용할 수 있다.
사용 예:
SELECT last_name
FROM employees
WHERE salary > ( SELECT salary FROM employees WHERE last_name like 'Abel' );
서브쿼리는 Abel사원 급여를 출력하고, 메인 쿼리는 해당 급여보다 많은 사원들의 이름을 표시한다.
'[ Programing ] > Database' 카테고리의 다른 글
[MSSQL] 프로시져 & 테이블 종속성 검색 (0) | 2014.04.25 |
---|---|
[SQL] 다중행 서브 쿼리와 연산자에 대해 (0) | 2011.10.12 |
[SQL] 그룹 결과 제외 HAVING 절에 대해 (0) | 2011.10.10 |
[SQL] 데이터 그룹 생성 GROUP BY 에 대해 (0) | 2011.10.10 |
[SQL] NVL 함수. (0) | 2011.09.26 |