SQL 外部結合

久しぶりに連絡が来て*1、なんかメンバリスト*2の並びをblogの投稿数順にしたい、とか言われたんで、そういえば丁度授業でSQLやってるな、と思ったんでちょいとやってみた。
とりあえず基本的な結合でできるかなぁ、と思ってたら以外とできない。itemテーブルから同一の投稿者でくくって投稿数を数えたテーブルを作って、それとmemberテーブルと結合させて、投稿数でソート…とかやったら、投稿してない人が見事に居なくなった。
そこで、どうやら外部結合とやらを使うらしい。oracleだとwhereで結合するときに(+)を付けるだけでもいいらしいんやが、MySQLはLEFT OUTER JOIN*3とかを使わんといかんらしい。これで割とあっさりできた。というか、whereで結合するんは(読み難くなるから)やめたほうがええんかなぁ。そんな気がするなぁ…。

*1:新しいblogの方

*2:前に表示して!と言われたので、適当に作った。基本的にやっつけ仕事。

*3:これは左外部結合。左の表をベースに結合する。