• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Inner Joinについて)

Inner Joinについて

このQ&Aのポイント
  • Inner Joinとは、SQLの一種であり、複数のテーブルやデータベースを結合する際に使用される方法です。
  • 具体的には、指定した2つのテーブルの共通の列を基準にしてレコードを結合し、新しいテーブルを作成します。
  • そのため、データを効率的かつ正確に関連付けることができ、複雑なデータ操作や集計を行う際に便利です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

下記のようなSELECT文を作成して結果を見てください。 SELECT 在庫テーブル.ID, 在庫テーブル.数量 AS 在庫数量, 追加テーブル.数量 AS 追加数量 FROM 在庫テーブル Inner Join 追加テーブル On 在庫テーブル.ID = 追加テーブル.ID 出力結果 ID 在庫数量 追加数量 001 1 3 001 1 4 002 2 1 002 2 2 これをUPDATE文にしたものが質問のSQLですが、これを実行すると、 上記のレコードセットを上から順に 在庫テーブル.数量 = 在庫テーブル.数量 + 追加テーブル.数量 という演算を実行してきます。 1行目を実行すると、IDが001の在庫テーブル.数量は 1+3 = 4 となります。 2行目を実行するとき、IDが001の在庫テーブル.数量はすでに4になってますので、在庫テーブル.数量 = 4+3 = 8 となります。 3行目を実行すると、IDが002の在庫テーブル.数量は 2+1=3 となります。 2行目を実行するとき、IDが002の在庫テーブル.数量はすでに2になってますので、在庫テーブル.数量 = 3+2 = 5 となります。 という具合に順に、在庫テーブル.数量 に 追加テーブル.数量 を加算していきますので、集計結果を得ることになります。

mellow91
質問者

お礼

分解して考えればいいのですね。目からうろこです。丁寧にご解説頂き本当にありがとうございます!大変よく理解できました!感謝感謝です!

関連するQ&A