UPDATE文でInnerJoin
SE歴ももうすぐ10年だというのに、こんな基本的なことも知らなかった。。。
まあ数年ブランクがあるからという言い訳をしておこう。
で、タイトルの件だが、
Updateする時に、
UPDATE
table1
INNER JOIN
table2
ON
table1.id = table2.id
SET
table1.cellname1 = table2.cellname2
みたいに書けるってこと。
今までは、僕は
UPDATE
table1
SET
table1.cellname1 =
(
SELECT
MAX(table2.cellname2)
FROM
table2
WHERE
table1.id = table2.id
)
みたいに書いてた。
後者だと、table1の1レコード毎にtable2を全レコード読みに行くので、
おそらく前者の方がパフォーマンス的には圧倒的に良いんだろう。
検証してないけど。