ホームページ  >  記事  >  データベース  >  mysqlのマルチテーブルクエリの詳しい説明

mysqlのマルチテーブルクエリの詳しい説明

迷茫
迷茫オリジナル
2017-03-26 11:28:281182ブラウズ

複数テーブルクエリ
1. カテゴリ:
* 結果セットのマージ (理解)
* マージ要求 テーブル内で、列の型と数は同じです


* UNION、重複行を削除します
* UNION ALL、重複行を削除しません

 SELECT * FROM cd/*cd表*/UNION ALLSELECT * FROM ab;/*ab表*

結合クエリ
1. 分類
* 内部結合
* 外部結合
> 左外部結合
自然接続 (単純化された方法に属する)



2. 内部結合 * 方言:
SELECT * FROM テーブル 1 エイリアス 1, テーブル 2 エイリアス 2 WHERE エイリアス 1.xx = エイリアス 2.xx * 標準:
SELECT * FROM テーブル1 エイリアス 1 INNER JOIN テーブル 2 エイリアス 2 ON エイリアス 1.xx=エイリアス 2.xx * 自然:
SELECT * FROM テーブル 1 Alias 1 NATURAL JOIN Table 2 Alias 2
* 内部結合によってクエリされたすべてのレコードが条件を満たします。

3. OUTER JOIN * LEFT OUTER
SELECT * FROM Table 1 Alias 1 LEFT OUTER JOIN 表 2 エイリアス 2 ON エイリアス1.xx=alias 2.xx >
左側のテーブルのレコードは条件を満たすかどうかに関係なくクエリされますが、右側のテーブルのレコードは条件を満たす場合にのみ取得できます。左のテーブルの条件を満たさないレコードの場合、右のテーブル部分はNULL * 左外部自然
SELECT * FROM テーブル 1 Alias 1 NATURAL LEFT OUTER JOIN テーブル2 Alias 2 ON Alias 1.xx=alias 2.xx * 右外側
SELECT * FROM Table 1 Alias 1 RIGHT OUTER JOIN Table 2 Alias 2 ON Alias 1.xx=alias 2.xx >
右側のテーブルのレコードは、条件を満たしているかどうかに関係なくクエリされますが、左側のテーブルのレコードは、条件を満たしている場合にのみ取得できます。条件を満たします。条件を満たさない右側のテーブルのレコードの場合、左側のテーブル部分は NULL になります * 右外側の自然
: SELECT * FROM Table 1 Alias 1 NATURAL RIGHT OUTER JOIN Table 2 Alias 2 ON Alias 1.xx=alias 2.xx *フルリンク:
UNIONを使用してフルリンクを完了できます

サブクエリ: クエリがありますクエリ内 (選択キーワードの数を確認してください!)
1. 出現場所:

* 条件として存在します
* ( ***)単一行および単一列: SELECT * FROM テーブル 1 エイリアス 1 WHERE 列 1 [=, >, 95ec6993dc754240360e28e0de8de30a=, <=, !=] (SELECT カラム FROM テーブル 2 エイリアス 2 WHERE 条件)

* ( **)複数行と単一列:
SELECT * FROM テーブル 1 エイリアス 1 WHERE 列 1 [IN, ALL, ANY] (SELECT 列 FROM テーブル 2 エイリアス 2 WHERE 条件)
* (*)単一行と複数列: SELECT * FROM テーブル 1 エイリアス 1 WHERE (列 1, 列 2) IN (SELECT 列 1, 列 2 FROM テーブル 2 エイリアス 2 WHERE 条件) * (* **)複数の行と複数の列:
SELECT * FROM table 1 alias 1, (SELECT ....) alias 2 WHERE 条件

以上がmysqlのマルチテーブルクエリの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。