ジムに行かねば

先月はジムをおさぼりして週1回のはずが月2回しか行ってなくて筋肉痛の発生頻度が増えてきました。
会社だけでなく友人からも忘年会に誘われてやばい未来が見えるので今月は頑張ろうと思います。

SQLの結合の種類

1. outer join(外部結合)

使用頻度はかなり高い。
left join, right join のこと。
結合先がないデータはNULLと結合する。

2. inner join(内部結合)

これも使用頻度はかなり高い。
結合ができるデータのみが結合し、結合できないデータは除外される。
outer joinで結合できていない列を後からnullなどで弾くよりも最初から結合できない方が若干SQLがすっきりするので個人的には好き。

3. cross join

今までで1回しか使っていない(ここ大事)
2つのテーブルの各行の組み合わせを作成する。
感覚的には掛け算の九九みたいな感じ?
全ての組み合わせを作成するので結合条件などは設定できない。
いらないものを除外する場合は後でwhereで除外したりする。

正直外部結合と内部結合だけ覚えていれば問題ないと思いますが、実はこんな結合もある!ってのを書きたいがためだけに書きました。
素のSQLを書くのに慣れてしまってクエリビルダを久しぶりに書くようになると混乱して書くのに時間がかかってしまっているので思い出している今日この頃です。