UPDATE 文や INSERT 文でも WHEN CASE を活用

SQL Server では、 UPDATE 文や INSERT 文内で複数テーブルを FROM に指定して処理を行うことができます。そして、結合した結果や SET に指定する値を CASE WHEN で条件分岐することも可能です。

非常に便利なテクニックですが、乱用すると SQL が読みにくくなります。何事もほどほどに。 KISS (Keep It Simple, Stupid *1 )

-- サンプル (文法確認用)
UPDATE
	Products
SET
	Name =
	(
		CASE WHEN C.Category IS NULL
			THEN P.Name + N' (仮)'
			ELSE P.Name
		END
	)
FROM
	Products AS P
	LEFT OUTER JOIN ProductsCategories AS C
		ON P.CategoryId = C.CategoryId

*1:最近は、 Keep It Simple and Small とか落ち着いた言い回しも多いようですね ^^;