Ano, jsou stejné. exists
zkontroluje, zda je v dílčím dotazu alespoň jeden řádek. Pokud ano, vyhodnotí se jako true
. Na sloupcích v dílčím dotazu v žádném případě nezáleží.
Podle MSDN exists
:
Určuje poddotaz, který se má otestovat na existenci řádků.
A Oracle:
Podmínka EXISTS testuje existenci řádků v poddotazu.
Dokumentace MySQL možná vysvětluje ještě více:
Tradičně poddotaz EXISTS začíná SELECT *, ale může začínat SELECT 5 nebo SELECT sloupec1 nebo cokoliv jiného. MySQL ignoruje seznam SELECT v takovém poddotazu, takže na tom nezáleží.