[sql] 데이터의 추출과 어그리게이션을 동시에 수행하는 스칼라 함수

이번에는 SQL에서 데이터 추출과 어그리게이션을 동시에 수행하는 방법에 대해 알아보겠습니다. 보통 SQL에서는 데이터 추출 후에 그룹화를 하여 어그리게이션을 수행하지만, 경우에 따라서 데이터 추출과 어그리게이션을 동시에 수행하는 것이 유용할 때가 있습니다.

1. 스칼라 함수 정의

스칼라 함수는 하나 이상의 행을 입력으로 받아 하나의 결과를 반환하는 함수입니다. 아래는 데이터 추출과 어그리게이션을 동시에 수행하는 스칼라 함수의 예제입니다.

CREATE OR REPLACE FUNCTION get_avg_salary() RETURNS FLOAT AS $$
DECLARE
    avg_salary float;
BEGIN
    SELECT AVG(salary) INTO avg_salary FROM employees;
    RETURN avg_salary;
END;
$$ LANGUAGE plpgsql;

위의 예제에서 AVG 함수를 사용하여 employees 테이블의 salary 열의 평균 값을 계산하여 반환하는 스칼라 함수를 정의합니다.

2. 스칼라 함수 호출

정의된 스칼라 함수를 호출하여 결과를 얻을 수 있습니다.

SELECT get_avg_salary();

위의 쿼리를 실행하면, employees 테이블의 salary 열의 평균 값을 반환받을 수 있습니다.

3. 정리

이렇게 스칼라 함수를 활용하면 데이터 추출과 어그리게이션을 동시에 수행하여 효율적으로 원하는 결과를 얻을 수 있습니다.

더 자세한 내용은 PostgreSQL 공식 문서를 참고하시기 바랍니다.