SQLJOIN
とは何ですか? また、さまざまな型とは何ですか?
6 に答える
とはSQL JOIN
?
SQL JOIN
2 つ以上のデータベース テーブルからデータを取得する方法です。
違いは何SQL JOIN
ですか?
全部で 5 つJOIN
の s があります。彼らです :
1. JOIN or INNER JOIN
2. OUTER JOIN
2.1 LEFT OUTER JOIN or LEFT JOIN
2.2 RIGHT OUTER JOIN or RIGHT JOIN
2.3 FULL OUTER JOIN or FULL JOIN
3. NATURAL JOIN
4. CROSS JOIN
5. SELF JOIN
1. JOIN または INNER JOIN :
この種の aJOIN
では、両方のテーブルで条件に一致するすべてのレコードを取得し、一致しない両方のテーブルのレコードは報告されません。
言い換えると、INNER JOIN
次の 1 つの事実に基づいています。両方のテーブルで一致するエントリのみをリストする必要があります。
JOIN
他のJOIN
キーワード ( INNER
、OUTER
、LEFT
など)のないa は であることに注意してくださいINNER JOIN
。言い換えれば、(参照: JOIN と INNER JOIN の違いJOIN
)の構文糖衣です。INNER JOIN
2.アウタージョイン:
OUTER JOIN
検索する
1 つのテーブルの一致した行と他のテーブルのすべての行、またはすべてのテーブルのすべての行 (一致するかどうかは関係ありません)。
外部結合には次の 3 種類があります。
2.1 LEFT OUTER JOIN または LEFT JOIN
この結合は、左側のテーブルのすべての行と、右側のテーブルの一致する行を組み合わせて返します。右側のテーブルに一致する列がない場合は、NULL
値が返されます。
2.2 RIGHT OUTER JOIN または RIGHT JOIN
これJOIN
により、右側のテーブルのすべての行が、左側のテーブルの一致する行と共に返されます。左のテーブルに一致する列がない場合は、NULL
値が返されます。
2.3 FULL OUTER JOIN または FULL JOIN
これはとJOIN
を組み合わせたものです。条件が満たされた場合はいずれかのテーブルから行を返し、一致しない場合は値を返します。LEFT OUTER JOIN
RIGHT OUTER JOIN
NULL
言い換えれば、OUTER JOIN
次の事実に基づいています: テーブルの 1 つ (RIGHT または LEFT) またはテーブルの両方 (FULL) の一致するエントリのみをリストする必要があります。
Note that `OUTER JOIN` is a loosened form of `INNER JOIN`.
3.自然結合:
これは、次の 2 つの条件に基づいています。
- これ
JOIN
は、同じ名前を持つすべての列に対して行われます。 - 結果から重複する列を削除します。
これは本質的に理論的なものであるように思われ、結果として (おそらく) ほとんどの DBMS はこれをサポートすることさえしません。
4.クロスジョイン:
これは、関連する 2 つのテーブルのデカルト積です。a will の結果は、CROSS JOIN
ほとんどの状況では意味がありません。さらに、これはまったく必要ありません (正確に言うと、必要最小限です)。
5.セルフジョイン:
の別の形式でJOIN
はなく、それ自体に対するテーブルのJOIN
( INNER
、OUTER
など) です。
演算子に基づく JOIN
句に使用される演算子に応じて、JOIN
2 種類のJOIN
s が存在する可能性があります。彼らです
- 等結合
- シータ結合
1.等結合:
どのようなJOIN
型 ( INNER
、など) でも、等値演算子 (=) のみを使用する場合、は であるOUTER
と言います。JOIN
EQUI JOIN
2.シータ結合:
これは と同じですEQUI JOIN
が、>、<、>= などの他のすべての演算子を使用できます。
多くの人は、
EQUI JOIN
と Thetaの両方を などJOIN
に似ていると考えています。しかし、私はそれが間違いであり、アイデアを曖昧にしていると強く信じています. などはすべてテーブルとそのデータに接続されているのに対し、andは前者で使用する演算子にのみ接続されているためです。INNER
OUTER
JOIN
INNER JOIN
OUTER JOIN
EQUI JOIN
THETA JOIN
NATURAL JOIN
繰り返しますが、ある種の「独特」と見なす人はたくさんいEQUI JOIN
ます。実際、私が言及した最初の条件のために、それは本当ですNATURAL JOIN
。NATURAL JOIN
ただし、単にs だけに限定する必要はありません。INNER JOIN
s、OUTER JOIN
s なども可能性がありEQUI JOIN
ます。