Je suppose que vous voulez un comportement dynamique sur votre WHERE clause, sans avoir à construire dynamiquement votre WHERE clause.
Avec un seul paramètre, vous pouvez utiliser ISNULL (ou COALESCE ) comme ceci :
SELECT * FROM Table WHERE ID = ISNULL(@id, ID)
qui autorise un NULL paramètre pour correspondre à tous. Certains préfèrent le plus long mais le plus explicite :
SELECT * FROM Table WHERE (@id IS NULL) OR (ID = @id)