40_SQL(10)

ryu·2023년 6월 27일
0

Subquery

  • 하나의 SQL 문 안에 포함되어 있는 또 다른 SQL 문을 의미
  • 메인 쿼리가 서브쿼리를 포함하는 종속적 관계
  • 서브쿼리는 메인쿼리의 컬럼 사용 가능
  • 메인쿼리는 서브쿼리의 컬럼 사용 불가

주의점

  • Subquery는 괄호로 묶어서 사용
  • 단일 행 혹은 복수 행 비교 연산자와 함께 사용 가능
  • 서브쿼리에서는 ORDER BY 사용 불가

종류

  • 스칼라 서브쿼리(Scalar Subquery): SELECT 절에 사용
  • 인라인 뷰(Inline View): FROM 절에 사용
  • 중첩 서브쿼리(Nested Subquery): WHERE 절에 사용

스칼라 서브쿼리

  • SELECT 절에 사용하는 서브쿼리. 결과는 하나의 Column

    SELECT column1, (SELECT column2 FROM table2 WHERE condition)
    FROM table1
    WHERE condition;

인라인 뷰

  • FROM 절에 사용하는 서브쿼리. 메인쿼리에서는 인라인 뷰에서 조회한 Column만 사용가능

    SELECT a.column, b.column
    FROM table1 a, (SELECT column1, column2 FROM table2) b
    WHERE condition;

중첩 서브쿼리

  • WHERE 절에서 사용하는 서브쿼리
    • Single Row: 하나의 열을 검색하는 서브쿼리
    • Multiple Row: 하나 이상의 열을 검색하는 서브쿼리
    • Multiple Column: 하나 이상의 행을 검색하는 서브쿼리

0개의 댓글