マルチテーブルクエリ
1、マルチテーブルクエリの役割
SQL文が複数のテーブルを照会する場合は、複数の異なるテーブルでクエリの結果から、各テーブルには、データの1つ以上の列を取ります。
図2に示すように、マルチテーブルクエリ分類
3、デカルト積現象
(1)デカルト積:二組A、Bであります どちらも、コレクションのすべての構成を取ります。
(2)デカルト積現象の影響を排除するマルチテーブルクエリの使用、無駄なデータを除去する必要が:。
第二に、コネクタ
彼らが表示されている基準を満たしている場合、テーブルの左に記録することは、表の右側にレコードを一致させます。以下のような:。..表の外部キー主テーブルの主キー=
1、暗黙的な接続
コネクタ内暗黙:それによって冗長なデータを除去する、指定された条件を用いたキーワードを、JOIN参照
フィールド左側のテーブルから名前を選択、右表の条件
デモ:
EMPから選択*、DEPT emp.`dept_id` = dept.`id`。
図2に示すように、接続ディスプレイ
ディスプレイに接続:使用、内側には参加...文で内部を省略することができます。
フィールド左側のテーブルから名前を選択[INNER]がON状態に右の表を登録しよう
デモ:
インナーのemp eからe.`id`数、e.`name`名、e.`gender`性別、e.`salary`賃金、d.`name`部門名を選択しe.`dept_id` =上のdept Dに参加d.`id` e.`name`は= '僧';
要約手順内のクエリに参加:
①どのテーブルクエリを決定
②接続決意条件テーブル
③クエリの条件を決定します
④フィールドクエリを決定
第三に、外部接続
1、左外側
外側左:参加...の外側左使用し、外側を省略することができます。
フィールド左テーブルLEFT [OUTER]条件を右表のJOINから名前を選択
彼らはディスプレイの条件を満たしている場合、すべてのデータと、左テーブルの彼らの交差部を問い合せて、そうでない場合、ディスプレイはnull。
デモ:
//左外部結合クエリを使用して、DEPT dから選択*はd.`id` = e.`dept_id`にEMP Eに参加左
2、右外側コネクタ
右の外側の接続:外部結合...右のを使用して、外を省略することができます。
フィールド左テーブルRIGHT [OUTER]から名前を選択状態で右の表を登録しよう
そうでない場合は、表示はnull;彼らはディスプレイの条件を満たしている場合、クエリは、データと表の右側の部分のすべての交点です。
デモ:
右dept.`id` = emp.`dept_id`にEMPに参加DEPTから選択*; //右の外部結合クエリを使用