レストランごとの注文合計金額を集計

中級
JOIN + 集計

レストランごとの注文合計金額を集計

JOINや集計関数など、実務でよく使うSQL構文を練習する中級問題です。

ブラウザ上でSQLを書いて解いてみましょう

ログインして挑戦できます

ログインして解く

問題文

CTEでfood_orders・table_reservations・menu_itemsを結合してレストランごとの注文合計を集計し、restaurantsとLEFT JOINして合計の多い順に表示してください。

結合のヒント

  • table_reservationsテーブル(エイリアス: tr)との結合条件: fo.reservation_id = tr.id(food_orders.reservation_id = table_reservations.id)
  • menu_itemsテーブル(エイリアス: mi)との結合条件: fo.menu_item_id = mi.id(food_orders.menu_item_id = menu_items.id)
  • order_totalsテーブル(エイリアス: ot)との結合条件: r.id = ot.restaurant_id(r.id = order_totals.restaurant_id)

取得列: tr.restaurant_id, SUM(mi.price * fo.quantity) AS total_revenue

この問題で学べること

  • JOIN + 集計 の構文・考え方
  • 中級レベルのSQLクエリの書き方
  • ブラウザ上でSQLを実行して即座に結果を確認する練習

使用テーブル

restaurantsfood_orderstable_reservationsmenu_items

難易度・対象者

難易度中級
カテゴリJOIN + 集計
対象者JOINや集計関数など、実務でよく使うSQL構文を練習する中級問題です。

関連問題


実際にSQLを書いて理解を深めましょう

ブラウザ上で実行できる採点付きSQLエディタで練習できます

ログインして解く
QSQL Quest