[Database] MySQL SubQuery

게맛살맛게·2021년 12월 16일
0

DB

목록 보기
8/23
post-custom-banner

서브쿼리

쿼리문 안에 포함되는 쿼리
subquery

  • 고정된 값이 아닌 동적인 결과 값을 통해 질의를 할 때 주로 사용
  • 괄호 () 로 묶어 사용
  • 주로 where절에 사용하며, select, from 절에 또한 사용가능
  • 서브쿼리가 먼저 수행되고 메인 쿼리가 수행 됨
  • 서브쿼리는 중첩 가능
SELECT 
    ename
FROM
    emp
WHERE
    deptno = (SELECT 
            deptno
        FROM
            emp
        WHERE
            ename = 'SMITH');

서브쿼리 유형

단일/다중

  • 단일 행 서브쿼리
    단일 행 반환
    단일 행 비교연산자 사용 (= > >= < <= <>(!=)등)

  • 다중 행 서브쿼리
    여러 행 반환
    다중 행 비교 연산자 사용 (IN ALL ANY(SOME) 등)

ALL

서브쿼리의 결과 중 여러개의 결과를 모두 만족해야 함

  • >ALL : 가장 큰 값보다 커야 true
  • <ALL : 가장 작은 값보다 작아야 true

ANY

서브쿼리의 여러 개의 결과 중 한 가지만 만족해도 가능

  • =ANY : 결과 중에 일치하는 값이 있어야 true - IN ( SubQuery )와 동일
  • >ANY : 가장 작은 값 보다는 커야 true
  • <ANY : 가장 큰 값 보다는 작아야 true
  • 다중 열 서브쿼리
profile
IT 기술블로그
post-custom-banner

0개의 댓글