SQL Server → PostgreSQL

CROSS APPLY vs LATERAL JOIN: subconsultas correlacionadas na migração

CROSS APPLY e OUTER APPLY do SQL Server mapeiam para LATERAL JOIN no PostgreSQL. Guia com exemplos de TOP por partição.

APPLY executa a subconsulta à direita para cada linha da esquerda, podendo referenciar colunas externas. No PostgreSQL, LATERAL faz o mesmo papel — CROSS APPLY vira CROSS JOIN LATERAL, OUTER APPLY vira LEFT JOIN LATERAL.

Tradução

PostgreSQL

SELECT c.nome, p.valor
FROM clientes c
CROSS JOIN LATERAL (
  SELECT valor FROM pagamentos
  WHERE cliente_id = c.id
  ORDER BY data DESC
  LIMIT 1
) p;

Analisador de Impacto

APPLY aparece em relatórios complexos e quebra na primeira execução no Postgres. Mapeie todos os usos no diagnóstico.

Abrir Análise de Projeto →