結合
表名
- 最大30バイト
- 表の別名はそのSQL文内で有効
- 表の別名を指定した場合、列は表の別名で修飾する
- 表の別名にはASを記述すると"エラー"になる。
- 表の別名を使用すると使用しないでは、使用した方が性能が向上する。
- 表の別名が短ければ短いほど、メモリーの消費を押さえれる。
ON句
SELECT 列リスト FROM 表1 [表別名] JOIN 表2 [表別名] ON 結合条件(表1.列名 = 表2.列名など) [JOIN 表n [表別名] ] [{ WHERE | AND 検索条件 }]
- ON句では結合させる列名のみを指定する。
- 抽出条件はWHERE句で指定する。
- 非等価結合
2つの表の異なる列名を結合する。 - 自己結合
1つの表で異なる列名を結合する。
- 非等価結合
NATURAL JOIN
SELECT 列名 FROM 表1 NATURAL JOIN 表2
- 結合する表のデータ型と列名がすべて一致している場合利用できる。
- 結合列のデータ型が異なる場合は、USING句を利用する。
- USINGとNATURAL JOINは一緒に使えない。
- 結合列は表の別名で修飾してはいけない。
USING句
SELECT 列名 FROM 表1 JOIN 表2 USING 列名
- 表1と表2のデータ型がことなる、列名が一致している場合の結合。
LEFT OUTER JOIN
SELECT 列リスト FROM 表1 LEFT OUTER JOIN 表2 ON 結合条件
- 結合条件に満たさない行も含むすべての結果を表示する。
- 表1(全データ) + 表2(結合データ)
RIGHT OUTER JOIN
SELECT 列リスト FROM 表1 RIGHT OUTER JOIN 表2 ON 結合条件
- 結合条件に満たさない行も含むすべての結果を表示する。
- 表1(結合データ) + 表2(全データ)
FULL OUTER JOIN
SELECT 列リスト FROM 表1 FULL OUTER JOIN 表2 ON 結合条件
- 両方の表に結合条件が満たす行のすべてを表示する。
- 表1(結合データ) + 表2(結合データ)
CROSS JOIN
SELECT 列リスト FROM 表1 CROSS JOIN 表2
- 結合条件が無効(すべての列が結合される)
このページのURL: