複数テーブルクエリ 結合クエリ
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 [=, >, <, >=, <=, !=] (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 サイトの他の関連記事を参照してください。