SUBQUERY
2020. 12. 18. 17:13ㆍDatabase/Oracle
SubQuery (서브쿼리) 란?
SQL 문장의 절에 들어있는(NESTEDED) 또 다른 SELECT 문장입니다.
즉, WHERE절이나 FROM 절에서 사용되는 쿼리를 서브쿼리라고 한다.
SubQuery
- 보통 Subquery 는 Main Query 이전에 한번 실행된다.
- Subquery 에서는 ORDER BY 를 사용하지 못한다.
- 단일 행(Sing-Row) Subquery : Subquery(SELECT) 문으로부터 하나의 행만 검색
- 다중 행(Multiple-Row) Subquery : Subquery(SELECT) 문으로부터 하나 이상의 행 검색
- 다중 열(Multiple-Column) Subquery : Subquery(SELECT) 문으로부터 하나 이상의 컬럼 검색.
- FROM절의 Subquery(INLINE VIEW) : FROM 절에 오는 Subquery로 VIEW 처럼 작동한다.
위치에 따른 SubQuery 명칭
- SELECT 문에 있는 서브쿼리 : 스칼라 서브쿼리
- FROM 절에 있는 서브쿼리 : 인라인 뷰
- WHERE 절에 있는 서브쿼리 : 서브쿼리
EXISTS
- EXISTS 는 IN 과 유사한 개념. ( ) 사이에 서브쿼리만 올 수 있다.
- ( ) 안에 서브쿼리로 부터 해당 컬럼의 값의 존재유무만 체크를 한다.
- 단순히 특정컬럼의 값을 이용할때에는 IN을 이용, 아니라면 서브쿼리를 이용하여 EXISTS를 사용하는것이 성능이 좋다.