Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Curiosidade da subconsulta do Oracle


Não é um inseto. Como você não qualificou a coluna, o Oracle a interpreta como o valor da coluna atual da tabela A -- que está dentro do escopo (cf. uma subconsulta correlativa). Portanto, a subconsulta apenas produz tantas duplicatas desse valor de coluna quanto há linhas na tabela B.

O in condição se tornará verdadeira ou falsa com base nisso. Sempre será falso quando a tabela B estiver vazia. Também será falso nos casos em que Col_A é nulo. Mas em todos os outros casos será verdade. Portanto, você obterá tantos resultados quanto linhas na tabela A que tenham um valor não nulo em Col_A , exceto quando a tabela B está vazia, caso em que você não obtém resultados.