Ne, SQL Server je chytrý a ví, že je používán pro EXISTS a nevrací ŽÁDNÁ DATA do systému.
Quoth Microsoft:http://technet.microsoft.com/en-us/library/ms189259.aspx?ppud=4
Výběrový seznam poddotazu zavedený pomocí EXISTS se téměř vždy skládá z hvězdičky (*). Není důvod uvádět názvy sloupců, protože pouze testujete, zda existují řádky, které splňují podmínky uvedené v poddotazu.
Chcete-li se sami zkontrolovat, zkuste spustit následující:
SELECT whatever
FROM yourtable
WHERE EXISTS( SELECT 1/0
FROM someothertable
WHERE a_valid_clause )
Pokud by skutečně něco dělal se seznamem SELECT, vyhodilo by to div s nulovou chybou. Není.
EDIT:Všimněte si, že o tom ve skutečnosti mluví standard SQL.
ANSI SQL 1992 Standard, str. 191 http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt
3) Případ:
a) Pokud je"*" je jednoduše obsaženo v
který je okamžitě obsažen v
a poté
je ekvivalentní
to je libovolný .