- クエリに参加(結合キー)お問い合わせ:古いSQLのServer2008シリーズ09のレビュー

接続は、コアのクエリは、単にその多テーブル関節問い合わせを意味します。

以下のような:従業員の部門番号が、部署の名前なしを含むすべての従業員情報を記録する従業員表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の基準に一致しません

 

おすすめ

転載: www.cnblogs.com/azrealer/p/11897346.html