単純結合だと無駄な行がたくさんできてしまいます。
そこで登場するのが等価結合で、二つの表について一致している行のみ結合させます。
member表に追加で各メンバーの出身地の人口(population)を表示させるにさせる
例を以下に示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
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) |
/