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