演習課題「平均以上の所持金を持つユーザーだけ表示する」
右側のコードエリアの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;