nullでない場合は@campIdでフィルタリングし、nullの場合はすべてを返します
これはコンパイルされますが、意図したとおりに機能しません。
declare @campId int
select *
from cli
where
cu in (
CASE @campId
when null then (select id from [dbo].[camp])
else @campId
end)