Ja, de er de samme. exists
kontrollerer, om der er mindst én række i underforespørgslen. Hvis det er tilfældet, evalueres det til true
. Kolonnerne i underforespørgslen betyder ikke noget på nogen måde.
Ifølge MSDN, exists
:
Angiver en underforespørgsel, der skal teste for eksistensen af rækker.
Og Oracle:
En EXISTS-tilstand tester for eksistensen af rækker i en underforespørgsel.
Måske er MySQL-dokumentationen endnu mere forklarende:
Traditionelt starter en EXISTS-underforespørgsel med SELECT *, men den kunne begynde med SELECT 5 eller SELECT column1 eller noget som helst. MySQL ignorerer SELECT-listen i en sådan underforespørgsel, så det gør ingen forskel.