서브 쿼리는 한 문장의 절안에 포함 된 또 하나의 문장
서브쿼리를 포하하고 있는 쿼리문을 메인쿼리라 하고 포함된 또 하나의 쿼리를 서브 쿼리라 한다
주의사항
반드시 WHERE 절에 비교연산자의 오른쪽에 위치해야함
서브쿼리라는 것을 알리기 위해 괄호로 묶어야함
서브쿼리 절 안에 ORDER BY절이 들어가면 안됨
서브쿼리가 가지는 장점은 한번 디스크에서 읽어온 데이터를 메모리 안에서 가공해서 사용할 수 있도록 도와준다
즉, 동일한 데이터를 다시 한번 이용하여 복잡한 가공에도 물리적인 i/o를 줄여준다
단일 행 서브쿼리(스칼라 서브쿼리)
가장 기본적이 서브쿼리로서 '=' 연산자를 사용한 서브쿼리
다중행 서브쿼리 (멀티로우 서브쿼리)
서브쿼리에서 반환되는 결과 행이 하나 이상일 때 사용하는 서브쿼리 다중행비교연산자 사용 가능
다중컬럼 서브쿼리
하나 이상의 컬럼을 메인쿼리로 반환
상호관련 서브쿼리
서브쿼리와 메인쿼리 간에 결과값을 서로 주고 받는 식으로 처리되는 서브쿼리
ANY는 서브쿼리의 여러 개의 결과 중 한 가지만 만족
ALL은 서브 쿼리의 여러 개의 결과를 모두 만족
'Programming > [DB]' 카테고리의 다른 글
[DB] 스키마 & 파티션 (0) | 2018.04.20 |
---|---|
[DB] VIEW (0) | 2018.04.20 |
[DB] JOIN (0) | 2018.04.20 |
[DB] 데이터의 무결성 (0) | 2018.04.19 |
[DB] 데이터베이스의 분석 설계 과정 (0) | 2018.04.19 |