猫でもわかるWeb開発・プログラミング

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

以下の結果を出力するSQLを書きなさい

以下のテーブルがある

mysql> desc user;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id    | int(11)      | YES  |     | NULL    |       |
| name  | varchar(255) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+

mysql> desc tweet;
+--------+--------------+------+-----+---------+-------+
| Field  | Type         | Null | Key | Default | Extra |
+--------+--------------+------+-----+---------+-------+
| id     | int(11)      | YES  |     | NULL    |       |
| userid | int(11)      | YES  |     | NULL    |       |
| text   | varchar(255) | YES  |     | NULL    |       |
+--------+--------------+------+-----+---------+-------+

tweet とは、tweet.userid = user.id となるような user のツイートであるとする。

「ユーザー情報とそのユーザーのツイート数」を得るためのSQLを書け。 (適当に作ったテーブルなので、idがNULLになる場合もあるが、NULLについては考えなくて良い)

想定結果

mysql> select * from user;
+------+------+
| id   | name |
+------+------+
|    1 | hoge |
|    2 | fuga |
|    3 | piyo |
+------+------+

mysql> select * from tweet;
+------+--------+----------+
| id   | userid | text     |
+------+--------+----------+
|    1 |      1 | hogehoge |
|    2 |      1 | hogehoge |
|    3 |      1 | hogehoge |
|    4 |      2 | hogehoge |
+------+--------+----------+

mysql> (答えとなるクエリ)
+------+------+----------+
| id   | name | count    |
+------+------+----------+
|    1 | hoge |        3 |
|    2 | fuga |        1 |
|    3 | piyo |        0 |
+------+------+----------+

こんな感じのことを喋っていたら、「プロコンのサイトみたいに、答えのSQL入力されたら正解かどうか判定してくれるサイト作ってよ」って言われた。確かに面白そうなので作ってみたい。yukicoderみたいに、問題文とテストケース投稿したらなんかいい感じにしてくれるとか(適当)