Home 제2장 - 제4절: 서브쿼리
Post
Cancel

제2장 - 제4절: 서브쿼리

서브쿼리

  하나의 SQL문 안에 포함돼있는 또 다른 SQL문.
  알려지지 않은 기준을 이용한 검색을 할 때 사용.

주의사항

  1. 서브쿼리를 괄호()로 감싸서 사용.
  2. 단일 행 또는 복수 행 비교 연산자와 함께 사용 가능.
    단일 행 비교 연산자는 서브쿼리 결과가 반드시 1건 이하.
    복수 행은 상관 없음.
  3. 서브쿼리에서는 ORDER BY 사용 불가.
    ORDER BY 절은 SELECT 절에서 오직 한 개만 가능하므로
    메인쿼리의 마지막 문장에 위치해야 함.

e.g.) 사원 테이블(관리자-사원), 조직 테이블(상위-하위)



1. 단일 행 서브 쿼리

  서브쿼리의 결과 건수가 2건 이상 반환 시
런타임에서 오류 발생.
(이건 컴파일 타임에선 알 수 없음.)



2. 다중 행 서브 쿼리

  서브쿼리 결과가 2건 이상 반환 가능성 있다면
반드시 다중 행 비교 연산자(IN, ALL, ANY, SOME)와 사용해야 함.



3. 다중 칼럼 서브 쿼리

  서브쿼리 결과로 여러 개 칼럼이 반환되어
메인쿼리의 조건과 동시에 비교되는 것.



4. 연관 서브 쿼리

  서브쿼리 내에 메인쿼리 칼럼이 사용된 서브쿼리.



5. 기타

  서브쿼리 내에 메인쿼리 칼럼이 사용된 서브쿼리.



6. 뷰

  뷰는 실제 데이터를 가지고 있지 않다.
단지, 뷰 정의View Definition만을 가짐.
  “가상 테이블”이라고도 함.

장점
- 독립성
- 편리성
- 보안성

Contents