演習課題「平均以上の所持金を持つユーザーだけ表示する」
右側のコードエリアのSQLは、サンプルデータベースのusersテーブルから、userIDと所持金を表示します。ここにWHEREとサブクエリを追加して、平均以上の所持金を持つユーザーだけ表示するようにしてください。平均値は、AVG関数で求めることができます。
コードを実行して、エラーが出なければ、演習課題クリアです!
入力される値
データベースに格納されているデータは、本レッスンのチャプター01を参照してください。
期待する出力値
| userID | name | gold |
|---|---|---|
| 2 | シュン | 5530 |
| 4 | さゆり | 3950 |
| 6 | サキ | 2930 |
| 8 | けんぞう | 2950 |
| 12 | しゅんじ | 2920 |
| 14 | ソウタ | 2930 |
| 16 | つとむ | 2930 |
| 18 | マユコ | 2930 |
| 22 | フミエ | 2930 |
| 24 | えーじ | 2950 |
| 26 | かおり | 2930 |
| 28 | かずき | 2950 |
| 32 | ひでき | 2940 |
| 34 | マサユキ | 2920 |
| 36 | マヒル | 2990 |
| 38 | ゆう | 2920 |
| 42 | ようこ | 2920 |
| 44 | リオ | 2940 |
| 46 | あおい | 2920 |
| 48 | あやめ | 2940 |
| 52 | カゲトラ | 2920 |
| 54 | やまじ | 2950 |
| 56 | みたらし | 2930 |
| 58 | ママママ | 2950 |
| 62 | 磯子 | 2920 |
| 64 | 山梨 | 2930 |
| 66 | さむかわ | 2930 |
| 68 | ナカイ | 2930 |
| 72 | 山北 | 2930 |
| 74 | まつる | 2950 |
| 76 | ミキミキ | 2930 |
| 78 | うおーず | 2950 |
| 82 | おやべ | 2940 |
| 84 | かーご | 2920 |
| 86 | まくら | 2990 |
| 88 | イズミ | 2920 |
| 92 | テイラー | 2920 |
| 94 | ピンキー | 2940 |
| 96 | きりしま | 2920 |
| 98 | ナカムラ | 2940 |
演習課題「ユーザーの平均年齢を求める」
右側のコードエリアのSQLは、サンプルデータベースのusersテーブルから、2017年1月1日時点のユーザーの年齢を表示します。これを利用して、サブクエリを使って平均年齢を求めてください。
(usersテーブルにデータがあるユーザーの誕生日は、全て2017年1月1日以前となります)
出力結果には、「年齢の合計」「ユーザー数」「平均年齢」を表示します。
コードを実行して、エラーが出なければ、演習課題クリアです!
入力される値
データベースに格納されているデータは、本レッスンのチャプター01を参照してください。
期待する出力値
| 年齢の合計 | ユーザー数 | 平均年齢 |
|---|---|---|
| 3042 | 100 | 30.4200 |
#11:サブクエリで、平均や割合を求めよう
ここでは、オンラインRPGの行動ログから、サブクエリを使って、平均以上のユーザーを調べたり、その割合を求めます。少し複雑な計算をするとき、サブクエリはとても役に立つ機能です。そのために、WHEREやSELECTでサブクエリを使う方法にチャレンジしましょう。
FROM句に書く場合-- FROM句に書く場合
SELECT *
FROM (サブクエリ) AS (サブクエリ名);
WHERE句に書く場合-- WHERE句に書く場合
SELECT *
FROM users
WHERE level = ((サブクエリ));
SELECT句に書く場合-- SELECT句に書く場合
SELECT (サブクエリ) AS (サブクエリ名)
FROM users;