Да, те са еднакви. exists
проверява дали има поне един ред в подзаявката. Ако е така, се оценява на true
. Колоните в подзаявката нямат значение по никакъв начин.
Според MSDN exists
:
Указва подзаявка за тестване за съществуването на редове.
И Oracle:
Условие EXISTS проверява наличието на редове в подзаявка.
Може би документацията на MySQL е още по-разясняваща:
Традиционно подзаявката EXISTS започва с SELECT *, но може да започне с SELECT 5 или SELECT колона1 или изобщо с нещо друго. MySQL игнорира списъка SELECT в такава подзаявка, така че няма разлика.