Comando LATERAL em PostgreSQL

2 respostas Resolvido
postgresql
R

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.

2 Respostas

E
Solucao aceita

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).

R

Obrigado pela resposta, me ajudou muito! :smile:

Criado 24 de outubro de 2017
Ultima resposta 24 de out. de 2017
Respostas 2
Participantes 2