¿Qué es más fácil de leer en las subconsultas EXISTENTES? [cerrado

Es una cuestión delegibilida. No hay diferencia en el rendimiento.
as versiones anteriores de SQL Server eran lo suficientemente tontas como para buscar metadatos, pero ya no.

SELECT foo FROM bar WHERE EXISTS (SELECT * FROM baz WHERE baz.id = bar.id);
SELECT foo FROM bar WHERE EXISTS (SELECT 1 FROM baz WHERE baz.id = bar.id);

No estoy considerando NULL o "variantes divertidas" que no me parecen intuitivas.

SELECT foo FROM bar WHERE EXISTS (SELECT NULL FROM baz WHERE baz.id = bar.id); SELECT foo FROM bar WHERE EXISTS (SELECT 1/0 FROM baz WHERE baz.id = bar.id);

La pregunta apareció en los comentarios justo ahora. Investigué los manuales de los RDBMS más populares:

MS SQL parece favorecer aSELECT * en el manual.Losejemplo en el manual PostgreSQL 9.4 usosSELECT 1.Oracle 11g tieneSELECT * en elreferencia idiomátic.MySQL 5.7 tieneSELECT * en elmanual de referenci pero tambiéSELECT 1 en los comentarios.SQLite no tiene ningún ejemplo en elreferencia idiomátic.

Una búsqueda en SO paracode:"EXISTS (SELECT 1" arroja 5.048 resultados.
Una búsqueda en SO paracode:"EXISTS (SELECT *" arroja 5.154 resultados.
Enlaces y cuentas actualizadas 07.2015.

EntoncesSELECT * tiene el voto popular y el gran RDBMS comercial de su lado.
EncuentroSELECT 1 más intuitivo. Es como decir "si al menos existe uno".
EsSELECT *@ más intuitivo?

Respuestas a la pregunta(3)

Su respuesta a la pregunta