Ja, ze zijn hetzelfde. exists
controleert of er ten minste één rij in de subquery staat. Als dat zo is, wordt het geëvalueerd als true
. De kolommen in de subquery doen er op geen enkele manier toe.
Volgens MSDN bestaat exists
:
Specificeert een subquery om te testen op het bestaan van rijen.
En Orakel:
Een EXISTS-voorwaarde test op het bestaan van rijen in een subquery.
Misschien is de MySQL-documentatie nog meer verhelderend:
Traditioneel begint een EXISTS-subquery met SELECT *, maar het kan beginnen met SELECT 5 of SELECT column1 of wat dan ook. MySQL negeert de SELECT-lijst in zo'n subquery, dus het maakt geen verschil.