본문 바로가기
💾 나만 몰랐던/SQL

👩🏻‍💻 나만 몰랐던 SQL | 서브쿼리

by 감자캐는사람 2024. 11. 15.

서브쿼리

  • 하나의 쿼리 안에 존재하는 또 다른 쿼리
  • SQL 명령문 안에 지정하는 하부 SELECT 명령으로 괄호로 묶여 지정
 

 

서브쿼리의 패턴

  1. 하나의 값을 반환하는 패턴 이때 반환되는 하나의 값은 '단일 값' 또는 '스칼라 값'이라고 불림
  2. 복수의 행이 반환되지만 열은 하나인 패턴
  3. 하나의 행이 반환되지만 열이 복수인 패턴
  4. 복수의 행, 복수의 열이 반환되는 패턴

 

 

스칼라 서브쿼리 / 단일행 서브쿼리

  • 스칼라 값 ( = 단일 값)을 반환하는 서브쿼리를 특별히 '스칼라 서브쿼리'라고 부름
  • 스칼라 서브쿼리를 특별 취급하는 이유는 서브쿼리로서 사용하기 쉽기 때문
  • 통상적으로 특정한 두 가지가 서로 동일한지 여부를 비교할 때는 서로 단일한 값으로 비교
  • 단일행 비교 연산자와 함께 사용 =, < , > ,<=, >= , <>
  • 즉, WHERE 구에서 스칼라 값을 반환하는 서브쿼리는 '=' 연산자로 비교할 수 있음

다중행 서브쿼리

  • 서브쿼리가 여러 건의 데이터를 반환
  • 다중행 비교 연산자와 함께 사용 IN, ALL, ANY, SOME, EXISTS

다중컬럼 서브쿼리

  • 서브쿼리가 여러 컬럼의 데이터를 반환
 

 

쿼리 위치에 따른 구분

  1. 👩🏻‍💻WHERE 절 서브쿼리 👉 스칼라 서브쿼리
  2. 👩🏻‍💻FROM절 서브쿼리 👉 인라인 뷰
  3. 👩🏻‍💻SELECT절 서브쿼리 👉 중첩 서브쿼리

 
 

상관 서브쿼리