1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 新・SQL入門編04ドリル(言語選択)
  4. 問題一覧 MySQL編
  5. スーパー注文内容 MySQL編

新・SQL入門編04ドリルのサムネイル
スーパー注文内容 MySQL編(paizaランク D 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

※ この問題集は、動画講座『新・SQL入門編4: テーブルの結合を理解しよう』で学習した内容について反復して練習できるドリルです。分からないことがあれば、動画に戻って復習してみてください。

注文内容がordered_menu テーブルに、メニューがmenu テーブルに、カテゴリがcategory テーブルに保存されています。
テーブルの形式は次の通りです。

ordered_menu

#カラム名データ型内容
1ordered_id整数 (int)注文の通し番号
2menu_id整数 (int)メニュー番号
3num整数(int)メニューの注文数
4sum整数 (int)小計



menu
#カラム名データ型内容
1menu_id整数 (int)メニュー番号
2category_id整数 (int)カテゴリ番号
3name文字列 (varchar)メニュー名
4price整数 (int)価格



category
#カラム名データ型内容
1category_id整数 (int)カテゴリ番号
2name文字列 (varchar)カテゴリ名



あなたはデータを共有するために注文内容を提出したところ、「数字ばかりでどのようなデータかわからない」と突き返されてしまいました。そこで、あなたはメニュー番号を日本語のメニュー名に置き換え、ついでにカテゴリ名も添えることにしました。

すべての注文内容について、注文の通し番号、カテゴリ名、メニュー名、メニューの注文数、小計をこの順で出力してください。

ヒント


FROM テーブル名1 INNER JOIN テーブル名2 ON 条件: 条件テーブル名1テーブル名2を内部結合する
SELECT カラム名1, カラム名2, ... FROM テーブル名: テーブル名 テーブルの カラム名1, カラム名2, ... カラムを取得することができる
・JOIN句を続けて書くことで3つ以上のテーブルを結合できる

入力例1
ordered_menu テーブル
ordered_idmenu_idnumsum
1141200
2211250
381350
............
menu テーブル
menu_idcategory_idnameprice
11ハンバーガー200
21チーズバーガー250
31チキンバーガー300
............
category テーブル
category_idname
1バーガー
2サイドメニュー
3デザート
......
出力例1
ordered_id name name num sum
1 サイドメニュー チキンナゲット 1 200
2 ドリンク メロンソーダ 1 250
3 バーガー ダブルチーズバーガー 1 350
...

問題一覧へ戻る

ページの先頭へ戻る