内部結合と等結合が同じかどうか教えてもらえますか?
「内部結合」は、一般的な用語で「等結合」と同じではありません。
'equi-join' は、等価演算子または同等の演算子を使用してテーブルを結合することを意味します。同等性のみを使用する場合は、外部結合を「等結合」と呼びます(他の人は同意しない場合があります)。
'inner join' は 'outer join' とは反対で、一致する値がない場合に2つのセットを結合する方法を決定します。
これに関するこの記事を見つけましたが、あなたの質問に答えていると思います。
それらは無関係です。
行を一致させる条件は、2つの値(結合される各テーブルから1つ)の等価性に基づいているため、ほとんどすべての結合は等結合です。したがって、それが等価結合になります。ON条件は等価です。これには、内部結合と3種類すべての外部結合が含まれます。
一方、内部結合は、行に一致する等価性、または他の条件に完全に基づくことができます。等結合でない場合、通常、シータ結合と呼ばれますが、正確には、等結合は可能なシータ結合の1つにすぎません。他のシータ結合では、比較演算子として「より小さい」、「より小さい」または「等しい」などが使用されます。
答えはいいえだ。
等結合は、明示的な演算子=を使用して、2つのテーブルの2つの列を一致させるために使用されます。
例:
select *
from table T1, table2 T2
where T1.column_name1 = T2.column_name2
内部結合は、2つのテーブル間のクロス積を取得し、両方のテーブルのすべてのレコードを結合するために使用されます。正しい結果を得るには、等結合または1つの自然結合を使用できます(テーブル間の列名は同じでなければなりません)
等結合(明示的および暗黙的)の使用
select *
from table T1 INNER JOIN table2 T2
on T1.column_name = T2.column_name
select *
from table T1, table2 T2
where T1.column_name = T2.column_name
または自然結合を使用する
select *
from table T1 NATURAL JOIN table2 T2
HTH
簡単に言えば:等結合は、内部結合の可能なタイプです
より詳細な説明:
内部結合は、特定の条件が満たされた結合テーブルから行のみを返す結合です。この条件は等しい場合があります。つまり、 equi-join ;になります。条件が平等の条件ではない場合-これは不平等、より大きい、より小さい、間にあるなどです-より正確にtheta-joinと呼ばれる nonequi-join があります。
そのような条件が必ずしも満たされることを望まない場合は、外部結合(返されるすべてのテーブルのすべての行)、左結合(返される左側のテーブルのすべての行、右側のテーブルにのみ一致)、右側の結合(右側のすべての行返されたテーブル、左側のテーブルのみに一致)。
答えは「いいえ」です。読者にとってソートは簡単です。
内部結合は、結合条件に等号(=)と他の演算子(<、>、<>など)を持つことができます。
等結合結合条件には等号(=)演算子のみがあります。
等結合は、内部結合、左外部結合、右外部結合にすることができます
違いを出さなければならない場合、私はここでそれがDB2でそれをテストしたと思う。 「等結合」では、結合するテーブルの比較列を選択する必要がありますが、内部結合では強制ではありません。例:-
Select k.id,k.name FROM customer k
inner join dealer on(
k.id =dealer.id
)
ここでは、結果の行は2列の行のみです
id name
しかし、等結合では、他のテーブルの列も選択する必要があると思います
Select k.id,k.name,d.id FROM customer k,dealer d
where
k.id =d.id
そして、これは3列の行になります、ここでディーラーの望ましくない比較列を持つことはできません(あなたがそれを望まない場合でも)、行は次のようになります
id(from customer) name(from Customer) id(from dealer)
これはあなたの質問には当てはまらないかもしれませんが、大きな違いの1つかもしれません。