728x90
반응형
SQL구문 안에 또 다른 SQL 구문이 포함된 형태를 말한다.
많은 JOIN을 대신할 수 있고, 메인 쿼리의 결과를 얻기위해 필요한 중간 결과를 산출하기 위해 사용된다.
메인쿼리와 연관성에 따라
연관성 없는 서브쿼리 : 메인쿼리와 조인으로 연결되지 않은 서브쿼리;
연관성 있는 서브쿼리 : 메인쿼리와 조인으로 연결된 서브쿼리
사용위치에 따라
일반 서브쿼리 : SELECT 절에 사용
인라인(in-line)서브쿼리 : FROM절에 사용(독립실행이 가능해야 함)
중첩서브쿼리 : WHERE절에 사용
반환값에 따라
단일행/단일열, 단일행,다중열, 다중행/단일열, 다중행/다중열
DML 명령에도 많이 사용된다.
알려지지 않은 조건에 근거하는 값들을 조회하기위해 사용한다.
1) 연관성 없는 서브쿼리
메인쿼리에 사용된 테이블과 서브쿼리에 사용된 테이블이 조인으로 연결되지 않는 서브쿼리를 말한다.
2) 연관성 있는 서브쿼리
메인쿼리와 서브쿼리에 사용된 테이블들이 JOIN으로 연결된 서브커리
3) 단일행 서브쿼리
하나의 행만 반환하는 서브쿼리, 단일행 연산자(=,>,<,>=,<=,!=)만 사용가능하다.
4) 다중행 서브쿼리
서브쿼리 결과가 여러행이 반환되는 경우
IN, ANY, SOME, ALL, EXISTS를 사용한다.
반응형
'DataBase > Oracle' 카테고리의 다른 글
9.[Oracle] 오라클 객체 (1) | 2021.07.06 |
---|---|
8.[Oracle] 집합연산자 (0) | 2021.07.06 |
6. [Oracle] 테이블 조인 (0) | 2021.06.25 |
5. [Oracle] 함수(function) (0) | 2021.06.16 |
3. [Oracle] DML_INSERT 구문 사용하기 (0) | 2021.06.10 |