Jag antar att du vill ha lite dynamiskt beteende på din WHERE sats, utan att dynamiskt behöva bygga din WHERE klausul.
Med en enda parameter kan du använda ISNULL (eller COALESCE ) så här:
SELECT * FROM Table WHERE ID = ISNULL(@id, ID)
som tillåter en NULL parameter för att matcha alla. Vissa föredrar det längre men mer explicita:
SELECT * FROM Table WHERE (@id IS NULL) OR (ID = @id)