[sql] 서브쿼리를 사용한 데이터 필터링 방법

데이터베이스에서 서브쿼리(subquery)는 다른 쿼리 안에 중첩된 쿼리를 의미하며, 데이터 필터링에 유용하게 활용됩니다.

서브쿼리를 사용하여 데이터를 필터링하는 방법에 대해 알아보겠습니다.

서브쿼리란?

서브쿼리는 다른 쿼리 안에 중첩된 SELECT 문을 의미합니다. 주로 WHERE 절이나 FROM 절에 사용되어, 외부 쿼리의 결과에 따라 조건이 동적으로 결정될 수 있습니다.

서브쿼리를 사용한 데이터 필터링 예제

다음은 서브쿼리를 사용하여 데이터를 필터링하는 간단한 예제입니다.

SELECT name, age
FROM employee
WHERE age > (SELECT AVG(age) FROM employee);

위 예제에서, 외부 쿼리는 employee 테이블에서 이름과 나이를 선택하고 있습니다. 서브쿼리는 동일한 테이블에서 나이의 평균을 계산하고 있으며, 외부 쿼리에서는 평균보다 높은 나이를 가진 직원들만 선택하게 됩니다.

이러한 방식으로 서브쿼리를 사용하면, 동적인 조건에 따라 데이터를 필터링할 수 있습니다.

서브쿼리의 활용

서브쿼리는 데이터 필터링 외에도 다양한 용도로 활용될 수 있습니다. 대표적으로 IN, NOT IN, EXISTS, NOT EXISTS 등과 함께 사용되어 복잡한 조건을 표현할 수 있으며, 서브쿼리의 결과를 활용하여 외부 쿼리에 영향을 미치는 동적인 로직을 구현할 수 있습니다.

또한, 서브쿼리를 사용하여 가장 큰 값 또는 작은 값 찾기, 중복 제거 등 다양한 데이터 조작에 적용할 수 있습니다.

마무리

서브쿼리는 데이터베이스 쿼리의 강력한 기능 중 하나로, 다양한 용도로 활용될 수 있습니다. 데이터 필터링부터 복잡한 데이터 조작까지 다양한 상황에 유용하게 활용할 수 있는데, 실제 비즈니스 로직을 구현하거나 데이터를 분석하는 과정에서 많은 도움이 될 것입니다.

서브쿼리의 활용에 대해 알아보았는데, 추가적으로 더 깊이있는 내용을 학습하고자 한다면, 관련된 참고 자료를 참고해보시기를 추천드립니다.

참고 자료