Para evitar muitos IFs como no Exemplo 1 ou mesmo no código que monta a query, mostro abaixo como simplificar isso com os exemplos 2 e 2.1.
Exemplo 1
IF @id IS NULL
SELECT * FROM tblUsers
ELSE
SELECT * FROM tblUsers WHERE userID = @id
Exemplo 2 (Simplificando)
SELECT *
FROM tblUsers
WHERE (userID = @id OR @id IS NULL)
Exemplo 2.1 (Simplificando)
Exemplo 2.1 (Simplificando)
SELECT *
FROM tblUsers
WHERE (userID = @id OR @id IS NULL)
AND (userEmail = @email OR @email IS NULL)