파게로그
subquery 본문
subquery
- SELECT문 내에 다시 SELECT문을 사용하는 SQL문
- 가상의 테이블을 만드는 효과를 얻을 수 있음
- inline view: FROM구에 SELECT문 사용
- scala subquery: SELECT문에 subquery 사용(한 행과 한 칼럼만 반환)
- subquery: WHERE구에 SELECT문 사용
단일 행 서브쿼리
- 단 하나의 행만 반환
- 비교연산자(=, <, <=, >, >=) 사용
다중 행 서브쿼리
- 여러 개의 행을 반환
- 다중 행 비교연산자(IN, ANY, ALL, EXISTS) 사용
- IN(subquery)
- main query의 비교 조건이 subquery의 결과 중 하나만 동일하면 참 - ALL(subquery)
- main query와 subquery의 결과가 모두 동일하면 참
- < ALL: 최솟값을 반환
- > ALL: 최댓값을 반환 - ANY(subquery)
- main query의 비교 조건이 subquery의 결과 중 하나 이상 동일하면 참
- < ANY: 하나라도 크게 되면 참
- > ANY: 하나라도 작게 되면 참 - EXISTS(subquery)
- main query와 subquery의 결과가 하나라도 존재하면 참
연관 서브쿼리(correlated subquery)
SELECT *
FROM EMP A
WHERE A.deptno =
(SELECT deptno FROM DEPT B WHERE B.deptno = A.deptno);
- subquery 내에서 main query의 칼럼을 사용하는 것
'콤퓨타 왕기초 > SQLD/JDBC/Oracle DB' 카테고리의 다른 글
window function (0) | 2021.03.22 |
---|---|
group function (0) | 2021.03.21 |
계층형 조회(CONNECT BY) (0) | 2021.03.21 |
join (0) | 2021.03.19 |
TCL(Transaction Control Language) (0) | 2021.03.18 |
Comments