[sql] WHERE 절을 사용하여 특정 값의 그룹 연산 처리하기

SQL에서 WHERE 절을 사용하여 특정 값의 그룹 연산을 처리하는 방법을 알아보겠습니다. WHERE 절은 검색 조건을 지정하여 특정 레코드를 선택하는 데 사용됩니다. 특히, 그룹 연산을 위해서는 WHERE 절을 적절히 활용해야 합니다.

그룹 연산이란?

그룹 연산은 특정 열의 값에 따라 레코드를 그룹화하고 그 그룹에 대해 연산을 수행하는 것을 말합니다. 각 그룹에 대한 연산 결과를 가져와서 표시하거나, 그룹 간의 비교를 수행하는 등 다양한 용도로 활용할 수 있습니다.

WHERE 절을 사용한 그룹 연산

WHERE 절을 사용하여 그룹 연산을 수행하기 위해서는 다음과 같은 방법을 활용할 수 있습니다.

  1. 그룹화된 레코드 필터링: WHERE 절을 사용하여 그룹화된 레코드 중에서 특정 조건을 만족하는 레코드를 선택할 수 있습니다.

     SELECT department, AVG(salary) as avg_salary
     FROM employees
     GROUP BY department
     HAVING AVG(salary) > 50000;
    
  2. 그룹화된 레코드 필터링 및 결과 표시: WHERE 절에서 그룹화된 레코드를 필터링하고, 결과를 표시할 수 있습니다.

     SELECT department, MAX(salary) as max_salary
     FROM employees
     GROUP BY department
     WHERE MAX(salary) > 70000;
    
  3. 여러 조건을 동시에 적용: WHERE 절에서 여러 조건을 동시에 적용하여 그룹화된 레코드를 처리할 수 있습니다.

     SELECT department, AVG(salary) as avg_salary
     FROM employees
     GROUP BY department
     WHERE AVG(salary) > 50000 AND MIN(salary) < 30000;
    

위의 예제는 각각 평균 연봉이 50000을 초과하는 부서, 최고 연봉이 70000을 초과하는 부서, 평균 연봉이 50000을 초과하고 최소 연봉이 30000 미만인 부서를 선택하는 것을 보여줍니다.

이처럼 WHERE 절을 사용하여 특정 값의 그룹 연산을 처리할 수 있습니다. WHERE 절은 그룹화된 레코드 중에서 필요한 조건을 만족하는 레코드를 선택하고 처리하는 데 유용하게 활용될 수 있습니다.

참고 문헌: MDN Web Docs