MySQL011 データの編集(外部結合:OUTER JOIN, LEFT/RIGHT)
chap10 つづき
■複数のテーブルの"すべてのレコード"を表示する(外部結合)
ーキーが一致しているか否か?が内部・外部結合の違い
ー全データを表示させる際、左右どちらかを主にする(左外部/右外部結合)
・LEFT JOIN / left outer join
select tb10.bang,tb11.nama from tb10
left join tb11 using(bang);
select tb10.bang,tb11.nama from tb10
left outer join tb11 using(bang);
・RIGHT JOIN
select tb10.bang,tb11.nama from tb10
right join tb11 using(bang);
・FULL OUTER JOIN
ここでは扱わない。
■自己結合
select * from tb11 join tb11; //Error.
select * from tb11 as a join tb11 as b; //aliasを付与で回避
順位付け
select a.nama, a.tosi, count(*)
from tb11 as a join tb11 as b
where a.tosi<=b.tosi
group by a.bang;
■参考
本:基礎からのMySQL