ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • SUBQUERY
    SQL/SUBQUERY 2020. 2. 5. 09:52

    서브쿼리(SUBQUERY)란

    - 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문
    - 서브쿼리는 메인쿼리가 서브쿼리를 포함하는 종속적인 관계
    - 서브쿼리는 메인쿼리의 컬럼을 모두 사용 가능 하지만, 메인쿼리는 서브쿼리의 컬럼을 사용할 수 없다.
    - 서브쿼리는 서브쿼리 레벨과는 상관없이 항상 메인쿼리 레벨로 결과 집합이 생성

    - 조인은 집합간의 곱의 관계, 1:1 조인 -> 1레벨의 집합 생성, N:M 조인 -> N*M레벨의 집합 생성

     

    서브쿼리 사용 시 주의점

    - 서브쿼리를 괄호로 감싸서 사용

    - 메인쿼리에 없는 테이블도 서브쿼리에서 사용할 수 있음

    - 서브쿼리는 단일 행(=, >. <= 등등) 또는 복수 행(ALL, ANY, IN) 비교 연산자와 함께 사용 가능

    -

     

    서브쿼리가 사용이 가능한 곳

    - SELECT

    - FROM

    - WHERE

    - HAVING

    - DRDER BY

    - INSERT문의 VALUES

    - UPDATE문의 SET

     

    서브쿼리의 반환 값에 따른 서브쿼리 종류

    - 단일 행 서브쿼리(Single-Row Subquery): 서브쿼리의 결과가 1행

    - 다중 행 서브쿼리(Multiple-Row Subquery) : 서브쿼리의 결과가 여러행

    - 다중 컬럼 서브쿼리(Multi-Column Subquery) : 서브쿼리의 결과가 여러 컬럼

     

     

    상호연관 서브쿼리 ( Correlated Subquery)

     - 메인 쿼리의 값을 서브 쿼리가 사용하고, 서브쿼리의 값을 받아서 메인 쿼리가 계산하는 구조

     - 서브쿼리만 실행 불가능

    메인쿼리의 emp e 에서 e.deptno값을 서브쿼리 안의 emp m에서 m.deptno의 값과 비교해서 그 값으로 메인쿼리의 where절 돌림 

    햄버거 구하는 예제

    'SQL > SUBQUERY' 카테고리의 다른 글

    SUBQEURY 햄버거  (0) 2020.02.06
    다중행 서브쿼리  (0) 2020.02.05
    단일행 서브쿼리  (0) 2020.02.05

    댓글

Designed by Tistory.