DQLマルチテーブルクエリ

DQLマルチテーブルクエリ

まず、マルチテーブルクエリ
の複数の表にまたがるクエリデータについて

1.クロスコネクト
直積:表A表Bの一致の各行がそれぞれの行
の基本構造:
[データベース名1]テーブルを選択し1名、属性名1、......、
[データベース名。 。]プロパティ名テーブル
[データベース名]テーブルから.;

クロス接続状態の2スクリーニング

[データベース名1]テーブルを選択し1名、名前1、......、属性
プロパティ名テーブル[データベース名。]。
[データベース名。]テーブルから
どこ条件式;

外部キー:

図3は、接続
比較を使用して、データ照合基準は、表一致するプロパティに記載されています

エンキーワード:内部結合

SELECT [データベース名1]表1名、名前1、......、属性
[データベース名。]テーブル。属性名
から[データベース名。]表1
インナー参加[2.データベース名]表2名
条件式ONに。

:クロスコネクトとの間の差がに接続されている
クロスコネクト接続より多くのスペースの比率、及びより効率的な

4.外部接続
次いで内側フィルタに接続されているコネクタがに分割されて左右外側には、結合と外リンク完全外部ジョイン

1.左の外側のコネクタが
、参照テーブルとして残され、テーブルのクエリフィールドの表示は左のすべてのレコードを記録し、左右の値は、表の外観の一致に示されている場所でヌルと一致しませんでした。

キーワード:参加左
、......、SELECT [1つのデータベース名] 1.プロパティ名テーブル1を
。[データベース名n]のnは、プロパティ名テーブルのn
参加左[データベース名1]表1から[データベース2.名]表2
の条件式ON。

図2に示すように、右外側(右接続)に接続された
すべてのレコードの権利クエリフィールドの表示テーブル、基準として右テーブルであり、左テーブルと右テーブルのみ一致するレコードを示し、一致がヌルによって置換されていません。
キーワード:右の参加;
[1データベース名] 1.プロパティ名テーブル1、......、SELECT
Nプロパティ名テーブルのn [nはデータベース名を。]。
[データベース名1]表1から右に参加[ 2.データベース名]表2
の条件式ON;
==
SELECT [1つのデータベース名] 1.プロパティ名表1、......、
[データベース名N] N特性名テーブルN ..
[データベース名から2]表2は、ジョイン、左[データベース名1]表1。
条件式ON。


図3に示すように、全体の外側のコネクタ(完全に接続された)
制限テーブルについては、完全に接続されていない、全ての表示データは、NULLデータは、場所と一致しません。
キーワード:フル参加、
MySQLは完全な接続をサポートしていません。

完全な接続を達成するために、左と右の接続を使用して
組合:接続を

五マルチテーブル関連クエリは、
テーブルの複数のデータ接続を問い合わせることができる(一般に、好ましくは4以下の表)

一般的な形式:
。N [1データベース名] 1.プロパティ名表1、......、[データベース名N] Nプロパティ名テーブルを選択し
、[データベース名1]表1からインナー[参加2データベース名。表2
の条件式ON
内部条件式テーブルの[3.データベース名] 3を結合
インナー[データベース名nを参加] nは、条件式テーブル上......。

第六に、表別名
表の別名形式:
表の別名の時計からの問合せには


二つの関連クエリを複数のテーブルとテーブル形式与える別名の違い使い方:
cou.cou_nameもちろん、SELECT名s.s_name、c.c_nameクラスを
s.sc_no c.c_no ON =参加学生インナークラスC Sから
インナーはコースに参加しますs.scou_no = cou.cou_noにCOU。

s.s_name姓名、c.c_nameを班级選択し、cou.cou_name课程
学生sの内部は、内部クラスcはコースCOUに参加する参加
s.sc_no = c.c_no && s.scou_no = cou.cou_noに。

おすすめ

転載: www.cnblogs.com/liugangjiayou/p/11723455.html