Untuk kasus sederhana ini dalam pertanyaan Anda, gunakan saja
IF ( @place IS NULL )
SELECT *
FROM table1
ELSE
SELECT *
FROM table1
WHERE country = @place
Jika situasi Anda yang sebenarnya lebih kompleks, Anda dapat menggunakan
select *
from Table1
where @place is null or [email protected]
option (recompile)
Alasan perlunya recompile
Petunjuknya adalah untuk menghindari memiliki satu paket yang melayani kedua kasus dan melakukan pemindaian yang tidak perlu jika Anda memberikan nilai eksplisit.
Ini, dan alternatif lain seperti membuat kueri secara dinamis, dibahas secara rinci dalam artikel Penelusuran Dinamis Kondisi dalam T-SQL