テーブルの結合2(等価結合)

単純結合だと無駄な行がたくさんできてしまいます。

そこで登場するのが等価結合で、二つの表について一致している行のみ結合させます。

member表に追加で各メンバーの出身地の人口(population)を表示させるにさせる
例を以下に示します。

mysql> select member.name, member.age, member.address, address.population from member, address where member.address=address.address;
+----------+------+---------+------------+
| name     | age  | address | population |
+----------+------+---------+------------+
| tanaka   |   30 | 東京  | 13216221   |
| suzuki   |   32 | 東京  | 13216221   |
| nakamura |   33 | 群馬  | 1992432    |
| miura    |   31 | 埼玉  | 7208122    |
| kimura   |   27 | 茨城  | 2946194    |
| takai    |   25 | 千葉  | 6196164    |
| tadano   |   26 | 千葉  | 6196164    |
| murakami |   35 | 茨城  | 2946194    |
| kikuchi  |   32 | 茨城  | 2946194    |
| suzuki   |   31 | 茨城  | 2946194    |
| saeki    |   29 | 埼玉  | 7208122    |
| ooyama   |   29 | 埼玉  | 7208122    |
| kamata   |   22 | 埼玉  | 7208122    |
+----------+------+---------+------------+
13 rows in set (0.00 sec)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>