Qual a finalidade do comando LATERAL nos comandos sql do PostgreSQL?
Já vi comandos como “LEFT JOIN LATERAL” e “INNER JOIN LATERAL”, mas não encontrei a finalidade desse comando.
Opa
Interessante.
Veja
Através deste recurso, um item da cláusula FROM pode referenciar outro que esteja à sua esquerda, isto é, colunas de tabelas já listadas na cláusula FROM podem ser diretamente referenciadas.
Adicionalmente, é possível fazer lateral joins utilizando o resultado de funções executadas na cláusula FROM como tabelas. (https://postgresqlbr.blogspot.com.br/2013/09/nada-temer-com-lateral-joins-no.html)
Em suma, ao invés de utilizar referência de campos de tabelas diferentes no WHERE o mesmo é feito dentro do FROM.
Sua principal vantagem é facilidade de leitura de forma que o resultado seja o mesmo de quando se utilizava declarações no WHERE.
Algo que não pode ser precisado é melhor ou pior desempenho por utilizar LATERAL JOIN. (Pelo menos não encontrei algo sobre).
Obrigado pela resposta, me ajudou muito!