W tym prostym przypadku w Twoim pytaniu po prostu użyj
IF ( @place IS NULL )
SELECT *
FROM table1
ELSE
SELECT *
FROM table1
WHERE country = @place
Jeśli Twoja rzeczywista sytuacja jest bardziej złożona, możesz użyć
select *
from Table1
where @place is null or [email protected]
option (recompile)
Powód konieczności recompile
wskazówką jest unikanie posiadania jednego planu cateringowego dla obu przypadków i niepotrzebnego skanowania w przypadku podania wyraźnej wartości.
Te i inne alternatywy, takie jak dynamiczne generowanie zapytania, zostały szczegółowo omówione w artykule Wyszukiwanie dynamiczne Warunki w T-SQL