LATERAL INLINE VIEW
Uma LATERAL INLINE VIEW, nada mais é que uma inline view (subquery no from) que referencia uma outra tabela(a esquerda(left)) do FROM. Mas existe algumas restrições, uma delas é que não é possível utilizar as cláusulas PIVOT e UNPIVOT, não pode se referir a primeira tabela envolvida em um RIGHT OUTER JOIN ou FULL OUTER JOIN entre outras restrições.
Para entendermos o seu funcionamento, vamos ver um exemplo de uma inline view que tenta referenciar outra tabela a sua esquerda no FROM.
Percebam que ao tentarmos referencia a tabela “e” na inline vuew foi lançado um erro mostrado que o identificador era inválido. Essa tabela não é reconhecida na inline view. Para isto devemos utilizar uma nova palavra reservada, LATERAL. Vejam no exemplo.
Além de modificarmos a nossa SELECT LIST, a única modificação feita foi a adição da palavra reservada LATERAL. Com isto podemos especificar a tabela a esquerda, pois agora ela é reconhecida na inline view, que no nosso caso foi a employees e. Limitamos no exemplo o nosso resultado apenas as 10 primeiras linhas apenas para demonstração.
Referência
- Oracle 12c SQL Reference
https://docs.oracle.com/database/121/SQLRF/statements_10002.htm#SQLRF01702