EXISTS
(atau NOT EXISTS
) dirancang khusus untuk memeriksa apakah ada sesuatu dan karenanya harus (dan merupakan) pilihan terbaik. Ini akan berhenti pada baris pertama yang cocok sehingga tidak memerlukan TOP
klausa dan itu tidak benar-benar memilih data apa pun sehingga tidak ada overhead dalam ukuran kolom. Anda dapat dengan aman menggunakan SELECT *
di sini - tidak ada bedanya dengan SELECT 1
, SELECT NULL
atau SELECT AnyColumn
... (Anda bahkan dapat menggunakan ekspresi yang tidak valid seperti SELECT 1/0
dan tidak akan pecah).
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