[sql] 서브쿼리를 사용한 데이터 선택

서브쿼리는 SQL 문장 안에 포함된 다른 SQL 문장을 말합니다. 서브쿼리를 사용하여 특정 조건을 충족하는 데이터를 선택하거나 계산된 값을 가져올 수 있습니다. 주로 SELECT, FROM, WHERE, 및 HAVING 절에서 사용됩니다.

서브쿼리 사용 예시

예를 들어, 주문 테이블에서 특정 고객의 주문 금액 평균을 구하려고 할 때, 서브쿼리를 사용하여 해당 고객의 주문 금액을 선택할 수 있습니다. 다음은 이를 수행하는 간단한 SQL 쿼리의 예시입니다.

SELECT customer_id, 
       AVG(order_amount) AS average_order_amount
FROM orders
WHERE customer_id = (SELECT customer_id FROM customers WHERE customer_name = 'John')
GROUP BY customer_id;

이 쿼리에서, 서브쿼리 (SELECT customer_id FROM customers WHERE customer_name = 'John') 는 ‘John’이라는 이름을 가진 고객의 고유한 ID를 선택하게 되고, 이 값을 이용하여 해당 고객의 주문 평균 금액을 계산합니다.

서브쿼리 종류

서브쿼리는 주로 다음과 같은 형태로 사용됩니다.

  1. 단일 행 서브쿼리: 서브쿼리가 하나의 행만을 반환하는 경우에 사용됩니다.
  2. 다중 행 서브쿼리: 서브쿼리가 여러 행을 반환하는 경우에 사용됩니다.
  3. 스칼라 서브쿼리: 서브쿼리가 하나의 값만을 반환하는 경우에 사용됩니다.

서브쿼리의 장점

서브쿼리를 사용하면, 한 번의 쿼리 실행으로 복잡한 조건과 계산을 수행할 수 있습니다. 또한, 올바르게 작성된 서브쿼리는 직관적이고 가독성이 우수하여 복잡한 데이터 선택 및 조작을 쉽게 할 수 있습니다.

이렇게 서브쿼리를 사용하여 데이터를 선택하는 방법에 대해 간략히 살펴보았습니다. 서브쿼리는 SQL을 유연하고 강력하게 만들어주는 기능 중 하나이므로, 적재적소에 활용할 수 있도록 공부하고 활용하는 것이 중요합니다.