新・SQL入門編15ドリルのサムネイル
CASE式を用いた並び替え 1 MySQL編(paizaランク C 相当)

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

問題

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

メニューが menu テーブルに保存されています。
menu テーブルの形式は次の通りです。

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


メニューに値段に応じたおすすめ度を設定します。200円以上300円未満のメニューは1、300円以上のメニューは2、200円未満のメニューは3です。
全メニューをおすすめ度の昇順に出力してください。デフォルトコードの穴を埋めて回答してください。

ヒント



  • CASE WHEN 条件 THEN 値 END:条件に応じてカラムの値を変えることができる
  • WHEN 条件 THEN 値の句は同じCASE式内に複数書くことができる
  • WHEN句の後にELSE 値と続けることで、それまでの条件に合わなかった場合の値を設定できる

入力例1
menu テーブル
menu_idcategory_idnameprice
11ハンバーガー200
21ハンバーガー250
31ハンバーガー300
............
出力例1
menu_id category_id name price
1 1 ハンバーガー 200
2 1 チーズバーガー 250
5 1 フィッシュバーガー 250
...

問題一覧へ戻る

  1. paizaトップ
  2. レベルアップ問題集
  3. 新・SQL入門編15ドリル(言語選択)
  4. 問題一覧 MySQL編
  5. CASE式を用いた並び替え 1 MySQL編
ページの先頭へ戻る