7.4. Multiple-Column Subquery

2019. 4. 19. 00:05 Database/Oracle SQL

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 값이 반환 되면 주 쿼리 에서는 어떠한 행도 반환되지 않는다.


출처 : http://www.gurubee.net/lecture/1504

'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