Existe / não existe: 'selecione 1' vs 'selecione campo'
Qual dos dois apresentaria melhor desempenho (fui acusado recentemente de não ter cuidado com meu código porque usei o posterior no Oracle):
Select *
from Tab1
Where (not) exists(Select 1 From Tab2 Where Tab1.id = Tab2.id)
Select *
from Tab1
Where (not) exists(Select Field1 From Tab2 Where Tab1.id = Tab2.id)
Ou ambos são iguais?
Responda às perspectivas do SQL Server e do Oracle.
Pesquisei no Google (principalmente do lado do servidor sql) e descobri que ainda há muito debate sobre isso, embora minha opinião / suposição atual seja de que o otimizador de ambos os RDMBS seja maduro o suficiente para entender que tudo o que é necessário na subconsulta é um valor booleano.