接続は、コアのクエリは、単にその多テーブル関節問い合わせを意味します。
以下のような:従業員の部門番号が、部署の名前なしを含むすべての従業員情報を記録する従業員表emp;
部門番号、名前、部署、事業所数などを含め、情報のすべてのセクターを記録部門表deptがあります。
今、あなたは、唯一の従業員のテーブルまたはクエリのみが満たされていない部門表を照会し、すべての従業員とすべての部門名の名前を検索したいです。
今回はマルチテーブルクエリを使用する必要があります。
ように、2つの単純なクエリのクエリがあります。
1 - クエリファイブレコード 2 SELECT トップ 5。emp.name、dept.name 3。 からEMP、部門 4。 emp.deptid = dept.deptid 5。順序によってemp.name 6。SELECT トップ5。emp.name、dept.name 7 からEMP 。8 インナー参加部門ON emp.deptid = dept.deptid - によって接続:いくつかの冗長データ(接続デカルト積)を除外するための基準を満たしていない。9 順序によって emp.name
これは、基本的な内部結合である:内部には参加したが、内部は通常、直接書き込まれ、省略参加します。
クエリが重複したフィールド名を持っている場合は、table_name.field_nameを区別する必要があります。また、ライティングテーブルを簡素化する代わりに、エイリアス名を使用することができます。
上記のクエリにも直接書き込むことができます。
トップ5 a.name、EMP Aからb.name、DEPT Bを選択する場合a.nameによってa.deptid = b.deptid順序
トップ5 a.name、a.nameによってa.deptid = b.deptidオーダーDEPT Bに参加EMPからb.nameを選択
結果は一貫しています。
もちろん、内側コネクタ、自然に外部接続、右右外側を接続、加入接続左外側を左ジョイン、完全に接続されたフル外部結合、外側は一般省略する。
コネクタは、最も頻繁に使用されている間しかし、彼らは、似ています。
いくつかの他の接続を添付:
図1は、左ジョイン: - :得られたクエリログ、そうでない場合(条件ON)左テーブルに準拠した接続左>にtableAは[tableA.field = tableB.fieldオン] TABLEBに参加左
また、列挙、TableBのはデータがNULLに表示されません
2、右の加入:左へ右の接続は正反対に参加
3、フル(デカルト積)に参加二つのテーブルに関するすべてのレコードを表示し、すべての表示はほとんど使用していない、非常に少ないこのので、NULLの基準に一致しません