この記事は昔書いた記事をブログから移行したものです。 UPDATE SET FROM JOIN (WHERE) の挙動にはクセがある! SQL Serverで他のテーブルの値でUPDATEしたい、ってときは、UPDATE SET FROM JOIN (WHERE)という構文がよく使われると思います。いまぼくが携わっているプロジェクトでもよく使われていたんですが、ぼくにはあまりよくわかりませんでした。と、いうことで、一体どういった動作をするのか検証してみました。 お急ぎの方のために結論を先に申し上げておきます。 キホンは、JOINしたレコードの値でUPDATE JOINの結果が0件になると、UPDATEされない 複数行JOINできてしまったら、TOP 1した結果でUPDATE です。それでは以下で詳しく説明していきます。 ここでは、STUDENTが受講したテストのSCOREを記録するというサ