ねこきっくぱんちのメモ帳

ITに関することいろいろめも。たまにアニメ。

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