サブクエリとは、メインクエリの中にもう1つ入れ子で埋め込まれた命令である。
それでは、実際に操作してみよう。
まずは、mysqlクライアントを起動しよう。
PS C:\Users\vinta> mysql -u myusr -p
Enter password: *****
続いて、basicデータベースに移動しよう。
mysql> USE basic;
Database changed
サブクエリでレコードを表示しよう
usrテーブルからサブクエリを利用してレコードを取得する。
①usrテーブルから登録ユーザの家族数の平均を求め、
②平均数よりも家族が多いユーザだけを抽出する
本来の目的は②で、その目的を果たすためのための予備的な問い合わせが①で、①がサブクエリである。
以下の通り、入力しよう。
なお、このbasicデータベースには、usrテーブルにあらかじめレコードが登録してあるものとする。
mysql> SELECT uname,family FROM usr
-> WHERE family > (SELECT AVG(family) FROM usr);
以下の通り、表示されれば、成功である。
mysql> SELECT uname,family FROM usr
-> WHERE family > (SELECT AVG(family) FROM usr);
+----------+--------+
| uname | family |
+----------+--------+
| 井上花子 | 4 |
| 掛谷奈美 | 5 |
| 鈴木正一 | 4 |
+----------+--------+
3 rows in set (0.08 sec)
今回は、ここまでである。mysqlクライアントを終了しよう。
mysql> exit
Bye
PS C:\Users\vinta>
(参考)3ステップでしっかり学ぶ MySQL入門 [改訂第3版] 山田奈美(著)山田祥寛(監修)技術評論社
コメント