• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer

AI活用エンジニアへの道

生成AI時代のエンジニアの生き方を考えるメディア(作成途中)

  • コラム
  • 生成AI
  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • プロフィール
Home / プログラミング / Mysqlで複数のテーブルを結合し、条件指定でUPDATEする方法

Mysqlで複数のテーブルを結合し、条件指定でUPDATEする方法

1 Mysqlで1つのテーブルを別のテーブルの値でUPDATEするやり方
2 Mysqlで他テーブルを条件指定して,他方のテーブルをUPDATEするやり方
3 Mysqlで1つのテーブルの値を結合した別のテーブルの値で更新するやり方
4 関連記事

Mysqlで1つのテーブルを別のテーブルの値でUPDATEするやり方

Mysqlで1つのテーブルの値を別のテーブルの値と同じ値に合わせたいときのSQLを紹介します。

例えば以下の、テーブルAをテーブルBの値で更新します。

  • テーブルA (table_a)
ID(id) 名前(name) 誕生日(birthday)
1 山田 1988-10-01
2 佐藤 1988-12-01
3 田中 1989-01-01
  • テーブルB (table_b)
ID(id) 名前(name) 誕生日(birthday) 新ID(new_id)
1 山田 1989-10-01 1
2 佐藤 1989-12-01 3
3 田中 1990-01-01 4

table_aのbirthdaryをtable_bのbirthdayで更新したい場合、以下のSQLを実行します。
(idとnameが一致するもの同士で紐づけて、table_aのbirthdayを更新する)

  • Example
UPDATE
    table_a a,
     table_b b
SET
    a.birthday = b.birthday
WHERE
    a.id = b.id
AND a.name = b.name

Mysqlで他テーブルを条件指定して,他方のテーブルをUPDATEするやり方

上のtable_aに対し、id=2の佐藤さんのみtable_bの値で更新したい場合

UPDATE 
    table_a a, 
    (
    SELECT 
      id, 
      name, 
      birthday 
    FROM 
      table_b 
    WHERE 
      id = 2
  ) AS b 
SET 
  a.birthday = b.birthday 
WHERE 
  a.id = b.id 
  AND a.name = b.name

Mysqlで1つのテーブルの値を結合した別のテーブルの値で更新するやり方

  • テーブルC (table_c)
新ID(new_id) 誕生日(birthday)
3 1991-10-01
4 1992-10-01

次にテーブルBの新ID、テーブルCの新IDを紐づけて、テーブルCのbirthdayでテーブルAのbirtydayを更新するSQLを紹介します。

  • Example(Inner Joinで紐づける)
UPDATE 
  table_a a, 
  (
    SELECT 
      b.id, 
      b.name, 
      c.birthday 
    FROM 
      table_b b 
      INNER JOIN table_c c ON b.new_id = c.new_id
  ) AS w_table 
SET 
  a.birthday = w_table.birthday 
WHERE 
  a.id = w_table.id 
  AND a.name = w_table.name

 

関連記事

Pythonの型ヒント:コレクション型とOptional型の使い方
Pythonの型ヒント:コレクション型とOptional型の…
Python型ヒントについて、変数と関数の引数と戻り値に付与する基本的な書き方について
Python型ヒントについて、変数と関数の引数と戻り値に付与…
【まとめ】よく使うLinuxのショートカット11選
【まとめ】よく使うLinuxのショートカット11選
覚えておくべきLinuxコマンド50選
覚えておくべきLinuxコマンド50選
FlaskでFormを用いてPOSTリクエストを行い、送信された値を取得する
FlaskでFormを用いてPOSTリクエストを行い、送信さ…
Flaskでabortを用いてHTTPException例外を強制的に発生させる
Flaskでabortを用いてHTTPException例外…

Primary Sidebar

人気記事

  • 1
    PyCharm,IntelliJのおすすめプラグイン一覧
  • 2
    ITエンジニアとしてスキルを高めるためのUdemy講…
  • no image 3
    Python未経験だが、フリーランスの案件に採用さ…
  • 4
    アメリカのシリコンバレーでプログラミングを無…

特集記事

  • 1
    Cursorの使用のポイントとコツ(コード補完、イ…
  • 2
    ITエンジニアとしてスキルを高めるためのUdemy講…

目次

1 Mysqlで1つのテーブルを別のテーブルの値でUPDATEするやり方
2 Mysqlで他テーブルを条件指定して,他方のテーブルをUPDATEするやり方
3 Mysqlで1つのテーブルの値を結合した別のテーブルの値で更新するやり方
4 関連記事
StartCode ロゴ
AI時代のエンジニアを最速で育てる
法人向けIT研修で即戦力を育成しています。詳しくはお問い合わせください。
▶ 詳細はこちら
Python講座
【Udemy】Python入門講座(0からPythonの基礎を体系的に学んで、生成AIでバイブコーディング)
受講生3000人ほどの人気講座。<strong>Pythonの基礎から生成AI活用</strong>...
詳細 ▶

Footer

利用規約