« Oracle11g ついにリリース!!
基本に戻ろう: 自己結合 »


6月

10

基本に戻ろう: 等価結合と非等価結合

参照元: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 —

Leave a Reply

Comment