Приема стойността на hs_id
от външната заявка.
Напълно валидно е да имате заявка, която не проектира никакви колони от избраната таблица в нейния select
списък.
Например
select 10 from HotelSupplier where id = 142
ще върне резултатен набор с толкова редове, колкото съответстват на where
клауза и стойността 10
за всички редове.
Неквалифицираните препратки към колони се разрешават от най-близкия обхват навън, така че това просто се третира като корелирана подзаявка.
Резултатът от тази заявка ще бъде изтриване на всички редове от Photo
където hs_id
не е нула, стига HotelSupplier да има поне един ред, където id =142 (и така подзаявката връща поне един ред)
Може да е малко по-ясно, ако помислите какъв е ефектът от това
delete from Photo where Photo.hs_id in (select Photo.hs_id)
Това разбира се е еквивалентно на
delete from Photo where Photo.hs_id = Photo.hs_id
Между другото, това е далеч и далеч най-често срещаният „бъг“, който аз лично съм виждал погрешно докладван в Microsoft Connect. Erland Sommarskog го включва в списъка си с желания за SET STRICT_CHECKS ON