SQL入門 SELECT文 複数テーブルの結合 inner join 内部結合

SQL入門 SELECT文 複数テーブルの結合 inner join 内部結合

inner join 内部結合を使い複数のテーブルを結合してデータを抽出する方法について解説します。

データはこちらの記事で作成したものを使います。

複数テーブルからデータを抽出する inner join 内部結合

今回はmenu_masterテーブル、purchaseテーブルをinner joinで内部結合します。

purchaseテーブルの購入履歴を抽出したいのですが、purchaseテーブルには「アメリカンコーヒー」などのメニュー名が入っておらずmenuのIDのみ入っています。

そこで、menu_masterテーブルと結合してnameを一緒に取得します。

SELECT
  name
  ,date
  ,quantity
FROM
  `coffee_shop.menu_master` A inner join `coffee_shop.purchase` B on A.ID = B.menu;
クエリ結果

ちなみに、数字を合算して抽出する方法について

「どのメニューが何日に合計でいくつ売れたか」抽出したい場合は下記のようにします。

SELECT
  name
  ,date
  ,SUM(quantity) AS quantity
FROM
  `coffee_shop.menu_master` A inner join `coffee_shop.purchase` B on A.ID = B.menu
GROUP BY
  name,date;
タイトルとURLをコピーしました