こんな感じのSQL文があった。
UPDATE table_a SET column_a = 1 FROM ( SELECT column_b, column_c, column_d FROM table_b ) table_b WHERE column_a = 2 AND table_b.column_b = table_a.column_b AND table_b.column_c = table_a.column_c AND table_b.column_d = table_a.column_d
なんじゃこりゃ!?っと思ったけど、PostgreSQLの非標準拡張らしい。
UPDATE table SET column = expression [, ...] [ FROM fromlist ] [ WHERE condition ]
fromlist A Postgres non-standard extension to allow columns from other tables to appear in the WHERE condition. WHERE 条件に他のテーブル上のカラムを指定できるように する Postgresの非標準的拡 張。