データベースの 4 つの接続方法は、1. 内部結合、2. 外部結合、3. クロス結合、4. 自然結合です。
内部結合 ---結合されたクエリ結果は内部で接続されており、内部結合結合形式が使用されます: [ inner] join ----inner can save
結果: 左側のテーブルから各レコードを取り出し、右側のテーブルのすべてのレコードと一致します。一致する必要があります。特定の条件である場合、結果は左のテーブルが右のテーブルと同じ場合にのみ保持され、それ以外の場合は保持されません;
基本構文: Left table [inner] join Right table on Left table. Field = Right table .Field;
注:
1. on は接続条件を表し、条件フィールドは同じビジネス上の意味を表します ( stu.cid や cla.id など)student stu テーブル内のクラス cid とクラス cla テーブル内の ID
#2. 内部結合には接続条件やその後のコンテンツを含めることはできません。この場合, システムはすべての結果を保持します (デカルト集合)
3. 内部接続には on の代わりに Where を使用できます. Where は on ほど効率的ではないため、通常は使用されません. On は一致を意味します最初に成功したものが一致し、他が一致しない場合は終了します; そうでない場合は一致せず、どこが常に一致するかが判断されます。通常、データをクエリするときに使用されます。異なるテーブルには同じ名前のフィールドがあります。このとき、区別するためにテーブル名を追加する必要があります。テーブル名が長すぎる場合、デフォルトを使用したくない場合は、テーブルのエイリアスを使用してください。フィールド名は、[as] を介してフィールドのエイリアスとして設定できます。
外部結合あるテーブルに注目し、その中のレコードを全て取り出し、各レコードを別のテーブルに接続すると、条件にマッチするかどうかは関係なく、最終的には保持されます。正しく保持され、他のテーブルと一致しないフィールドが設定されます。空の null
分類:左結合、右結合、左結合、左外部結合の 2 つのタイプに分けられます。 --左結合、左テーブルをメインテーブルとする、右結合、右外部結合---右接続、右テーブルをメインテーブルとする
基本構文:Left table left/right join Right table on Left table.Field = Right table.Field; -------条件が存在する必要があります
クロス結合クロス結合には WHERE 句がありません。結合されている 2 つのテーブルのすべてが返されます。データ行のデカルト積、
結果で返されるデータ行の数です。 set は、クエリ条件を満たす最初のテーブルのデータ行の数と、クエリ条件を満たす 2 番目のテーブルのデータ行の数を乗算した値に等しくなります。
natural joinフィールド名をマッチング条件として使用し、接続条件を自動的にマッチングするシステムです。パターン (フィールドと同じ名前のフィールド、同じ名前の複数のフィールドを条件として使用します)
自然結合: 自然内部結合と自然外部結合に分けることができます内部結合自然左結合自然左結合外部結合
実際: 内部結合と外部結合はすべて自然結合をシミュレートできます。
同じ名前のフィールドを使用し、フィールドをマージします。左のテーブルの左/右の内部結合右のテーブルを使用します (フィールドname) ----- 同じ名前のフィールドを使用し、フィールドをマージします。
--Natural inner join select * from stu Natural join cla;
-Natural left external join select * from stu Natural left join cla;
--Outer join は、natural left external joinselect * from stu left join cla using(id);
をシミュレートします。
以上がデータベースの4つの接続方法とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。