O Amazon Redshift deixará de oferecer suporte ao uso de UDFs em Python após 30 de junho de 2026. Começaremos a aplicar essa alteração em fases. Consulte mais informações sobre os detalhes do fim da vida útil do Python e as opções de migração na publicação do blog
Subconsultas escalares
Uma subconsulta escalar é uma consulta SELECT regular entre parênteses que retorna exatamente um valor: uma linha com uma coluna. A consulta é executada, e o valor retornado é usado na consulta externa. Se a subconsulta retornar zero linhas, o valor da expressão da subconsulta será nulo. Se ele retornar mais de uma linha, o Amazon Redshift retornará um erro. A subconsulta pode consultar variáveis da consulta pai, que atuarão como constantes durante qualquer invocação da subconsulta.
Você pode usar subconsultas escalares na maioria das instruções que pedem uma expressão. As subconsultas escalares não são expressões válidas nos seguintes casos:
-
Como valores padrão para expressões
-
Em cláusulas GROUP BY e HAVING
Exemplo
As seguintes subconsultas computam o preço médio pago por venda ao longo de todo o ano de 2008; então, a consulta externa usa este valor na saída para comparar com o preço médio por venda por trimestre:
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)