[SQL] 서브쿼리 사용하기

CC·2022년 10월 20일
0

서브쿼리 이해하기

  • 서브쿼리는 쿼리 안에 있는 쿼리를 말한다.
  • 서브쿼리는 항상 안에 있는 쿼리를 먼저 처리하고, 바깥 쪽에 있는 쿼리를 처리한다.
  • 서브쿼리는 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;
/* 이 쿼리는 Customers 테이블에서 고객 이름, 주소, 주문 수량을 가져온다.
orders는 괄호로 묶인 서브쿼리에 의해 구해진 계산필드이다.
서브쿼리에 있는 WHERE 절은 테이블과 열 이름을 모두 명시하는 
완전한 열 이름(Fully Qualified Column Name)을 사용하였다. => 열 이름이 모호할 때 사용 */

0개의 댓글