基本に戻ろう: 等価結合と非等価結合
参照元:Back to basics: Equi and non-equijoins joins < Eddie Awad’s Blog
— beginning of translation —
この記事はOracle結合シリーズの中の一つです。
目次:
1.基本に戻ろう: クロス結合
2.基本に戻ろう: 内部結合
3.基本に戻ろう: 外部結合
4.基本に戻ろう: 等価結合と非等価結合
5.基本に戻ろう: 自己結合
6.基本に戻ろう: アンチジョインとセミジョイン
その結合が等価結合なのか、もしくは非等価結合なのかは結合条件によって決まります。等価結合とは結合条件に等価演算子を含む構文のことを言います。等価結合はある特定の列の値が等しい行を結び付けます。
等価演算子以外の演算子で2つの表が結合されている場合は非等価結合になります。問合せ文には非等価結合はもちろん、等価結合も含むことができます。
等価結合は最も一般的に使われています。等価結合の例:
SELECT e.first_name, d.department_name
FROM employees e INNER JOIN departments d
ON e.department_id = d.department_id
/ FIRST_NAME DEPARTMENT_NAME
-------------------- ------------------------------
Steven Executive
Neena Executive
Lex Executive
Alexander IT
Bruce IT
非等価結合はそれほど頻繁には使われません。非等価結合の例:
SELECT zip_codes.zip_code, zones.ID AS zip_zone,
zones.low_zip, zones.high_zip
FROM zones INNER JOIN zip_codes
ON zip_codes.zip_code BETWEEN zones.low_zip
AND zones.high_zip
/ZIP_CODE ZIP_ZONE LOW_ZIP HIGH_ZIP
-------- -------- ------- --------
57000 1 57000 57999
84006 2 84000 84999
非等価結合で他に思いつく例はありますか?
— end of translation —