複数テーブルを結合するとき列名の記述に注意する
mysql> SELECT t_hanbai.shcd,shname,suryo,tanka FROM t_hanbai INNER JOIN t_syohin ON t_hanbai.shcd = t_syohin.shcd; +--------+---------------------+-------+-------+ | shcd | shname | suryo | tanka | +--------+---------------------+-------+-------+ | 100001 | USBメモリー128 | 10 | 2400 | | 100101 | SDメモリーカード128 | 3 | 2300 | | 100201 | スマートメディア32 | 5 | 1200 | +--------+---------------------+-------+-------+ 3 rows in set (0.48 sec)
列名だけの記述でもエラーにならないが、実行速度が遅くなる可能性がある。どちらのテーブルにあるのかを調べなければならないからである。
mysql> SELECT t_hanbai.shcd,t_syohin.shname,t_hanbai.suryo,t_syohin.tanka FROM t _hanbai INNER JOIN t_syohin ON t_hanbai.shcd = t_syohin.shcd;
と書き換えた方が、わずかに動作が早くなる。
mysql> SELECT t1.shcd,t2.shname,t1.suryo,t2.tanka FROM t_hanbai AS t1 INNER JOIN t_syohin AS t2 ON t1.shcd = t2.shcd;
と「AS」句を使ってテーブルに別名をつけることができる。