7.4. Multiple-Column Subquery
Multiple-Column Subquery란?
결과 값이 두 개 이상의 컬럼을 반환하는 Subquery이다
Pairwise(쌍비교) Subquery
Subquery가 한 번 실행되면서 두 개 이상의 컬럼을 검색해서 주 쿼리로 넘겨 준다.
SELECT
empno, sal, deptno
FROM
emp
WHERE
(sal, deptno)
IN
(
SELECT
sal, deptno
FROM
emp
WHERE
deptno = 30
AND
comm
is
NOT
NULL
);
EMPNO SAL DEPTNO
---------- ---------- ----------
7521 1250 30
7654 1250 30
7844 1500 30
7499 1600 30
Nonpairwise(비쌍비교) Subquery
WHERE 절에서 두 개 이상의 서로 다른 Subquery가 사용되어서 결과 값을 주 쿼리로 넘겨 준다.
SELECT
empno, sal, deptno
FROM
emp
WHERE
sal
IN
(
SELECT
sal
FROM
emp
WHERE
deptno = 30
AND
comm
is
NOT
NULL
);
AND
deptno
IN
(
SELECT
deptno
FROM
emp
WHERE
deptno = 30
AND
comm
is
NOT
NULL
);
EMPNO SAL DEPTNO
---------- ---------- ----------
7521 1250 30
7654 1250 30
7844 1500 30
7499 1600 30
Null Values in a Subquery
서브쿼리에서 NULL 값이 반환 되면 주 쿼리 에서는 어떠한 행도 반환되지 않는다.
'Database > Oracle SQL' 카테고리의 다른 글
9.1. 데이터 사전(Data Dictionary)이란? (0) | 2019.04.24 |
---|---|
7.7. UNION [ALL], INTERSECT, MINUS 연산자 (0) | 2019.04.19 |
7.6. Scalar Subquery (0) | 2019.04.19 |
7.5. Inline View (From절 Subquery) (0) | 2019.04.19 |
7.3. Multiple-Row Subquery (0) | 2019.04.19 |
7.2. Single-Row Subquery (0) | 2019.04.18 |
7.1. Subquery란? (0) | 2019.04.18 |
6.2. GROUP BY와 HAVING절 (0) | 2019.04.18 |