EXISTS (или NOT EXISTS ) е специално разработен за проверка дали нещо съществува и следователно трябва да бъде (и е) най-добрият вариант. Той ще спре на първия ред, който съвпада, така че да не изисква TOP клауза и всъщност не избира никакви данни, така че няма допълнителни разходи за размера на колоните. Можете безопасно да използвате SELECT * тук - не се различава от SELECT 1 , SELECT NULL или SELECT AnyColumn ... (можете дори да използвате невалиден израз като SELECT 1/0 и няма да се счупи).
IF EXISTS (SELECT * FROM Products WHERE id = ?)
BEGIN
--do what you need if exists
END
ELSE
BEGIN
--do what needs to be done if not
END