1-5 外部結合の使い方

外部結合で行列変換 その1(行→列):クロス表を作る

外部結合はスカラ・サブクエリで代用できる。

外部結合で行列変換 その2(列→行):繰り返し項目を1列にまとめる

UNION ALLで、行持ちに変換。UNION ALLは重複行を削除しない。

クロス表で入れ子の表側を作る

外部結合でも、結合条件がNULLとなり、結果がunknownになる。

表側を入れ子にする場合、その形のマスタをあらかじめ用意する。

掛け算としての結合

結合は、一対一でなくとも一対多ならべ行数は(不当には)増えない。

完全外部結合

完全外部結合は「両方をマスタに使う結合」

完全外部結合を使えない環境で同じ結果を得るには、左外部結合の結果と右外部結合の結果をUNIONする。

内部結合 = 積集合(INTERSECT)

完全外部結合 = 和集合(UNION)

外部結合で集合演算

集合演算子はソートを発生させるので、パフォーマンス上の問題を引き起こす可能性がある。

完全外部結合で排他的和集合を求める

関係除算を外部結合で書ける。

まとめ

「OUTER」は省略可能だが、内部結合に対して外部結合であることを明治するために、省略しないほうが良い。