DB/ORACLE

18.[오라클]서브쿼리 정리

혼자좀비 2024. 2. 11. 19:16

 서브쿼리란 sql문장안에서 보조로 사용되는 또다른 SELECT문을 말한다.

메인쿼리 : 최종결과를 출력하는 쿼리

서브쿼리 : 중간단계 혹은 보조역할을 하는 SELECT문을 서브 쿼리라고 한다.

유형 설명 예시
연관성 없는 서브쿼리 메인과 연관성이 없는 쿼리 SELECT count(*)
  FROM employees 
 WHERE salary >=  ( SELECT AVG(salary)
                      FROM employees );
  -> 메인과 연관성없는 서브쿼리
연관성 있는 서브쿼리 메인과 연관성이 있는 쿼리 SELECT a.department_id, a.department_name
 FROM departments a
WHERE EXISTS ( SELECT 1 
                 FROM job_history b
                WHERE a.department_id = b.department_id );
인라인뷰 FROM절에 사용되는 쿼리를 인라인 뷰라고 한다.
FROM절 안에 
SELECT a.employee_id, a.emp_name, b.department_id, b.department_name
  FROM employees a,
       departments b,
       ( SELECT AVG(c.salary) AS avg_salary 
           FROM departments b,
                employees c
          WHERE b.parent_id = 90 
            AND b.department_id = c.department_id ) d
 WHERE a.department_id = b.department_id 
   AND a.salary > d.avg_salary;

'DB > ORACLE' 카테고리의 다른 글

20.[오라클]WITH절  (0) 2024.02.14
19.[오라클]계층형쿼리  (1) 2024.02.12
17.[오라클]JOIN 관련 정리  (0) 2024.02.07
16.[오라클]집합연산자 정리  (0) 2024.02.07
15.[오라클]그룹쿼리관련 정리  (1) 2024.02.07