[sql] 중첩 쿼리를 활용한 데이터 필터링 및 정렬

중첩 쿼리는 하나의 SQL 쿼리 안에 다른 쿼리를 중첩하여 사용하는 방법입니다. 이 기술을 활용하면 복잡한 데이터 필터링과 정렬 작업을 수행할 수 있습니다. 중첩 쿼리를 사용하여 특정 기준에 따라 데이터를 선택하거나 원하는 방식으로 정렬할 수 있습니다.

이번 포스팅에서는 중첩 쿼리를 사용하여 데이터 필터링과 정렬을 수행하는 방법에 대해 알아보겠습니다.

데이터 필터링

중첩 쿼리를 사용하여 데이터를 필터링하는 방법은 다양한 조건을 충족시키는 데이터를 선택하는 것입니다. 예를 들어, 다음과 같은 상황에서 중첩 쿼리를 사용할 수 있습니다:

SELECT *
FROM employees
WHERE department_id = (
    SELECT department_id
    FROM departments
    WHERE department_name = 'Sales'
);

위의 예제에서는 departments 테이블에서 부서명이 ‘Sales’인 부서의 부서ID를 찾아서, 이를 이용해 employees 테이블에서 해당 부서에 속한 직원들을 선택합니다.

데이터 정렬

중첩 쿼리를 사용하여 데이터를 정렬하는 방법은 특정 기준에 따라 데이터를 순서대로 정렬하는 것입니다. 예를 들어, 다음과 같은 상황에서 중첩 쿼리를 사용할 수 있습니다:

SELECT *
FROM employees
ORDER BY (
    SELECT AVG(salary)
    FROM employees
    WHERE department_id = 10
) DESC;

위의 예제에서는 employees 테이블에서 부서ID가 10인 부서의 평균 급여를 계산하고, 이를 기준으로 직원들을 내림차순으로 정렬합니다.

중첩 쿼리를 사용하여 데이터를 필터링하고 정렬하는 방법에 대해 알아보았습니다. 이를 통해 복잡한 데이터 조작 작업을 보다 쉽게 수행할 수 있게 됩니다.

더 많은 정보를 원하시면, SQL 중첩 쿼리에 대해 더 많은 학습 자료를 참조하실 수 있습니다.