MySQLのきほん「内部結合」

スポンサーリンク
programming codes screengrab MySQL
Photo by Myburgh Roux on Pexels.com

主キーと外部キーを結びつけて、複数テーブルに分かれたレコードを統合することを結合という。

これは、リレーショナルデータベースの本当の強みでもある。

今回は、内部結合を取り上げる。

それでは、実際に操作してみよう。

まずは、mysqlクライアントを起動しよう。

PS C:\Users\vinta> mysql -u myusr -p
Enter password: *****

続いて、basicデータベースに移動しよう。

mysql> USE basic;
Database changed

内部結合でレコードを表示しよう

scheduleテーブルとcategoryテーブルを内部結合して、レコードを取得しよう。

以下の通り、入力しよう。
なお、このbasicデータベースには、scheduleテーブルとcategoryテーブルにはあらかじめレコードが登録してあるものとする。

mysql> SELECT schedule.subject,schedule.pdate,schedule.ptime,
    -> category.cname,schedule.memo FROM schedule
    -> INNER JOIN category ON schedule.cid = category.cid
    -> WHERE schedule.uid = 'yyamada';

以下の通り、表示されれば、成功である。

mysql> SELECT schedule.subject,schedule.pdate,schedule.ptime,
    -> category.cname,schedule.memo FROM schedule
    -> INNER JOIN category ON schedule.cid = category.cid
    -> WHERE schedule.uid = 'yyamada';
+-----------------+------------+----------+--------+------------------+
| subject         | pdate      | ptime    | cname  | memo             |
+-----------------+------------+----------+--------+------------------+
| WINGS会議       | 2024-06-25 | 15:00:00 | 会議   | 配布プリント持参 |
| MySQL本原稿提出 | 2024-07-31 | 17:00:00 | 提出   | NULL             |
| WINGSメンバ面接 | 2024-08-05 | 13:00:00 | その他 | NULL             |
| D企画打ち上げ   | 2024-08-21 | 18:00:00 | その他 | NULL             |
+-----------------+------------+----------+--------+------------------+
4 rows in set (0.13 sec)

今回は、ここまでである。mysqlクライアントを終了しよう。

mysql> exit
Bye
PS C:\Users\vinta>

参考)3ステップでしっかり学ぶ MySQL入門 [改訂第3版]  山田奈美(著)山田祥寛(監修)技術評論社

コメント

タイトルとURLをコピーしました