[sql] WHERE 절에서 서브질의 결과 활용하기

SQL에서 WHERE 절을 사용할 때 서브쿼리를 활용하여 조건을 지정할 수 있습니다. 서브쿼리를 WHERE 절에 사용하는 방법을 살펴보겠습니다.

기본적인 서브쿼리 활용

여러 테이블의 데이터를 비교하기 위해 서브쿼리를 활용할 수 있습니다. 예를 들어, 다음과 같이 두 개의 테이블을 비교하여 특정 조건을 만족하는 값을 가져올 수 있습니다.

SELECT name
FROM customers
WHERE id IN (SELECT customer_id FROM orders WHERE total_amount > 1000);

위의 예제에서는 customers 테이블과 orders 테이블을 비교하여 orders 테이블의 total_amount가 1000인 주문에 해당하는 customers 테이블의 고객 이름을 가져오고 있습니다.

EXISTS를 활용한 서브쿼리

서브쿼리의 결과가 존재하는지를 확인하기 위해 EXISTS를 활용할 수도 있습니다. 다음은 EXISTS를 사용한 예제입니다.

SELECT name
FROM customers c
WHERE EXISTS (SELECT 1 FROM orders o WHERE o.customer_id = c.id);

위의 예제에서는 customers 테이블의 고객 중 주문이 존재하는 경우에 해당하는 고객의 이름을 가져오고 있습니다.

서브쿼리를 활용한 다양한 조건

서브쿼리를 활용하면 다양한 조건을 WHERE 절에 적용할 수 있습니다. 예를 들어, IN, NOT IN, ANY, ALL 등 다양한 키워드를 활용하여 서브쿼리를 작성할 수 있습니다.

서브쿼리를 활용하면 복잡한 조건을 간결하게 표현할 수 있으며, 효율적인 데이터 추출을 할 수 있습니다.

서브쿼리를 WHERE 절에서 활용하는 방법에 대해 살펴보았습니다. 데이터베이스에서 서브쿼리를 적절히 활용하면 다양한 조건에 맞는 데이터를 효과적으로 추출할 수 있습니다.

참고 자료