GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Comando LATERAL em PostgreSQL

postgresql
Tags: #<Tag:0x00007fda09bd3bf8>

#1

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

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


#3

Obrigado pela resposta, me ajudou muito! :smile: