Ele está tomando o valor de
hs_id da consulta externa. É perfeitamente válido ter uma consulta que não projete nenhuma coluna da tabela selecionada em seu
select Lista. Por exemplo
select 10 from HotelSupplier where id = 142
retornaria um conjunto de resultados com tantas linhas quantas correspondessem ao
where cláusula e o valor 10 para todas as linhas. Referências de coluna não qualificadas são resolvidas do escopo mais próximo para fora, então isso é tratado apenas como uma subconsulta correlacionada.
O resultado desta consulta será excluir todas as linhas de
Photo onde hs_id não é nulo desde que HotelSupplier tenha pelo menos uma linha onde id =142 (e assim a subconsulta retorna pelo menos uma linha) Pode ser um pouco mais claro se você considerar qual é o efeito disso
delete from Photo where Photo.hs_id in (select Photo.hs_id)
É claro que isso é equivalente a
delete from Photo where Photo.hs_id = Photo.hs_id
A propósito, este é de longe o "bug" mais comum que eu pessoalmente vi relatado erroneamente no Microsoft Connect. Erland Sommarskog inclui em sua lista de desejos para
SET STRICT_CHECKS ON