스칼라 하위 쿼리 - Amazon Redshift

Amazon Redshift는 2025년 11월 1일부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. Python UDF를 사용하려면 이 날짜 이전에 UDF를 생성하세요. 기존 Python UDF는 정상적으로 계속 작동합니다. 자세한 내용은 블로그 게시물을 참조하세요.

스칼라 하위 쿼리

스칼라 하위 쿼리는 정확히 1개의 값, 즉 열 1개가 포함된 행 1개를 반환하는 정규 SELECT 쿼리이며, 괄호로 묶입니다. 쿼리를 실행하여 반환되는 값은 바깥쪽 쿼리에 사용됩니다. 하위 쿼리가 행을 0개 반환하는 경우 하위 쿼리 표현식의 값은 NULL입니다. 행을 2개 이상 반환하면 Amazon Redshift가 오류를 반환합니다. 하위 쿼리는 상위 쿼리의 변수를 참조할 수 있으며, 하위 쿼리를 한 번 호출할 때마다 상수 역할을 합니다.

스칼라 하위 쿼리는 표현식이 필요한 대부분 문에서 사용됩니다. 하지만 다음과 같은 경우에는 유효한 표현식이 아닙니다.

  • 표현식의 기본값으로 사용되는 경우

  • GROUP BY 및 HAVING 절에서 사용되는 경우

예시

다음은 2008년 한 해 판매 한 건당 지불된 평균 가격을 계산하는 하위 쿼리입니다. 그러면 바깥쪽 쿼리가 출력 값을 사용하여 분기별로 판매 한 건당 평균 가격과 비교합니다.

select qtr, avg(pricepaid) as avg_saleprice_per_qtr, (select avg(pricepaid) from sales join date on sales.dateid=date.dateid where year = 2008) as avg_saleprice_yearly from sales join date on sales.dateid=date.dateid where year = 2008 group by qtr order by qtr; qtr | avg_saleprice_per_qtr | avg_saleprice_yearly -------+-----------------------+---------------------- 1 | 647.64 | 642.28 2 | 646.86 | 642.28 3 | 636.79 | 642.28 4 | 638.26 | 642.28 (4 rows)