서브쿼리 이해하기
- 서브쿼리는 쿼리 안에 있는 쿼리를 말한다.
- 서브쿼리는 항상 안에 있는 쿼리를 먼저 처리하고, 바깥 쪽에 있는 쿼리를 처리한다.
- 서브쿼리는 WHERE 절과 IN 절에서 가장 많이 사용되고, 계산 필드를 구하기 위해서도 사용된다.
- 서브쿼리가 항상 최선의 선택은 아니다.(가장 효율적인 것은 아니다. 다음 장의 조인 참고!)
서브쿼리로 필터링하기
SELECT cust_name, cust_contact
FROM Customers
WHERE cust_id IN( SELECT cust_id
FROM Orders
WHERE order_num IN ( SELECT order_num
FROM OrderItmes
WHERE prod_id = 'RGAN01' ));
계산 필드로 서브쿼리 사용하기
SELECT cust_name, cust_state, ( SELECT COUNT(*)
FROM Orders
WHERE Orders.cust_id = Customers.cust_id ) AS orders
FROM Customers
ORDER BY cust_name;