2025-10-10

오늘 배운 것

SubQuery & 집합 연산

SubQuery란?

  • 하나의 SQL문에 포함된 또 다른 SQL문
  • 내부 쿼리 결과를 외부 쿼리에서 활용
  • 특징
    • 괄호 () 로 감싸서 표현
    • 세미콜론 ; 없음
    • 일부 절(ORDER BY 등)에서 제한 있음

SubQuery 유형

  • 단일 행 서브쿼리
    • 결과가 하나의 행 → 단일 비교 연산자 사용(=, >, <, >=, <=, <>)
  • 다중 행 서브쿼리
    • 결과가 여러 행 → IN, ANY, ALL, EXISTS 사용
  • 상호 연관 서브쿼리
    • 메인 쿼리 값에 의존 → 독립 실행 불가
  • 다중 열 서브쿼리
    • 여러 열을 반환, 조건 비교 시 열을 쌍으로 사용
  • 스칼라 서브쿼리
    • 단일 행·단일 열 → 값 하나 반환 (없으면 NULL)
  • 인라인 뷰
    • FROM 절에 사용되는 서브쿼리
    • 결과를 가상 테이블처럼 사용
    • 반드시 별칭 필요, 일회성 뷰

다중 행 서브쿼리 연산자

  • ANY
    • = ANY → IN 과 동일
    • > ANY → 최소값보다 크면 참
    • < ANY → 최대값보다 작으면 참
  • ALL
    • > ALL → 최대값보다 크면 참
    • < ALL → 최소값보다 작으면 참
  • EXISTS
    • 서브쿼리 결과가 존재하면 참
    • 조건 충족 시 즉시 참 반환
    • SEMI JOIN 과 유사

SubQuery 사용 가능한 위치

  • SELECT, FROM, WHERE, HAVING, ORDER BY 절
  • UPDATE의 SET 절
  • INSERT의 VALUES 절 및 대체
  • CREATE TABLE 문

집합 연산

  • 두 SQL 결과를 집합으로 보고 연산
  • 조건
    • 컬럼 개수 동일
    • 컬럼 데이터 타입 호환
    • 컬럼명은 첫 번째 쿼리 기준
  • 종류
    • UNION : 합집합 (중복 제거)
    • UNION ALL : 합집합 (중복 포함)
    • INTERSECT : 교집합
    • MINUS (또는 EXCEPT) : 차집합

results matching ""

    No results matching ""