Existe / no existe: 'seleccionar 1' vs 'seleccionar campo'
Cuál de los dos funcionaría mejor (recientemente me acusaron de no tener cuidado con mi código porque usé el posterior en 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)
¿O son ambos iguales?
Responda tanto desde la perspectiva de SQL Server como desde la perspectiva de Oracle.
Busqué en Google (principalmente desde el lado del servidor SQL) y descubrí que todavía hay mucho debate sobre esto, aunque mi opinión / suposición actual es que el optimizador en los RDMBS es lo suficientemente maduro como para comprender que todo lo que se requiere de la subconsulta es Un valor booleano.