Přebírá hodnotu hs_id z vnějšího dotazu.
Je naprosto platné mít dotaz, který nepromítá žádné sloupce z vybrané tabulky ve svém select seznam.
Například
select 10 from HotelSupplier where id = 142
vrátí sadu výsledků s tolika řádky, kolik odpovídá where klauzule a hodnotu 10 pro všechny řádky.
Nekvalifikované odkazy na sloupce jsou vyřešeny od nejbližšího rozsahu směrem ven, takže se s tím bude zacházet jako s korelovaným dílčím dotazem.
Výsledkem tohoto dotazu bude smazání všech řádků z Photo kde hs_id není null, pokud má HotelSupplier alespoň jeden řádek, kde id =142 (a tak poddotaz vrátí alespoň jeden řádek)
Mohlo by to být trochu jasnější, když zvážíte, jaký to má efekt
delete from Photo where Photo.hs_id in (select Photo.hs_id)
To je samozřejmě ekvivalentní s
delete from Photo where Photo.hs_id = Photo.hs_id
Mimochodem, toto je zdaleka nejběžnější „chyba“, kterou jsem osobně viděl chybně hlášenou na Microsoft Connect. Erland Sommarskog to zahrnul do svého seznamu přání pro SET STRICT_CHECKS ON