[Database] 서브 쿼리(Sub Query)


서브 쿼리(Sub Query)

  • SELECT 문 안에 다른 SELECT 문을 포함
  • 괄호로 묶어 작성
  • ORDER BY 절을 사용할 수 없음
  • 메인 쿼리(Main Query) 문보다 먼저 수행됨
  • 반환되는 행의 수에 따른 분류

예제

  • 고객 ( customer )테이블에서 ‘bank’ 계정의 등급과 같은 모든 고객의 이름(name)과 적립금 (credit)을 검색하시오.


SELECT name, credit
FROM customer
WHERE grade = ( SELECT grade FROM customer WHERE account='bank' );


  • Customer 테이블에서 적립금이 가장 많은 고객의 이름(name)과 적립금(credit)을 검색하시오.
SELECT name, credit
FROM customer
WHERE credit = ( SELECT MAX( credit ) FROM customer );


  • apple 고객이 주문한 제품의 이름을 검색하시오. ( 조인 검색의 질의1 )


SELECT name
FROM items
WHERE code IN ( SELECT item FROM orders WHERE customer='apple' );


  • apple 고객이 주문하지 않은 제품의 이름(name)과 재고(qty)를 검색하시오.


SELECT name
FROM items
WHERE code NOT IN ( SELECT item FROM orders WHERE customer='apple' );