ホームページ >データベース >mysql チュートリアル >mysql接続クエリ例の詳しい説明

mysql接続クエリ例の詳しい説明

小云云
小云云オリジナル
2018-03-15 10:40:192568ブラウズ

接続クエリは、2 つ以上のテーブルをデータ ソースとして「接続」し、そこから必要なデータを取得します。この記事では主に、mysql 接続クエリの詳細な例を紹介し、皆様のお役に立てれば幸いです。

クロス結合:

条件はありません。結合の基本概念に従ってすべてのデータ行を接続した結果のみです。これは「デカルト積」とも呼ばれます。

テーブル 1 (n1 フィールド、n2 行)、テーブル 2 (m1 フィールド、m2 行) の相互接続の結果は次のようになります:

  • n1+ m1 があります。列;

  • は n2*m2 行;

select * from Table 1, join Table 2;

選択* テーブル 1 からテーブル 2 をクロス結合
  • 例:
  • 結果:
  • 内部結合:


形式: select * from table 1【inner】 join Table 2 on Connection条件; mysql接続クエリ例の詳しい説明
mysql接続クエリ例の詳しい説明例:
mysql接続クエリ例の詳しい説明
結果: mysql接続クエリ例の詳しい説明mysql接続クエリ例の詳しい説明

注: この種のテーブル間の内部結合クエリは、テーブル間の「関係」 (通常は外部キー関係) として反映できますが、外部キー関係である必要はありません。この接続を使用するには。

select  *  from  表1  【inner】  join  表2  on  连接条件;

例:
mysql接続クエリ例の詳しい説明
结果:
mysql接続クエリ例の詳しい説明

注意:这种的表跟表之间的内连接查询,虽然可以体现为表跟表之间的“关系”——通常就是外键关系——但并不是有外键关系才能使用这种连接。

可以使用as为其设置别名:
mysql接続クエリ例の詳しい説明

左(外)连接 left (outer) join:

形式:

表1(左表)  left  【outer】 join  表2(右表)  on  连接条件

含义:其实就是将两个表的内连接的结果,再加上左边表的不符合内连接所设定的条件的那些数据的结果;

例:
mysql接続クエリ例の詳しい説明
结果:
mysql接続クエリ例の詳しい説明

可见,左连接的结果,左边表的数据,一定都会“全部取出”;

右(外)连接 right (outer) join:

形式:

表1(左表)  right  【outer】 join  表2(右表)  on  连接条件

含义:其实就是将两个表的内连接的结果,再加上右边表的不符合内连接所设定的条件的那些数据的结果;

例:
mysql接続クエリ例の詳しい説明
结果:
mysql接続クエリ例の詳しい説明

连接查询

就是将两个或两个以上的表,“连接起来”,当做一个数据源,并从中去取得所需要的数据;

交叉连接 cross  join:

没有条件,只是按连接的基本概念,将所有数据行都连接起来的结果。它又叫做“笛卡尔积”;

对于表1(n1个字段,n2行),表2,(m1个字段,m2行),他们交叉连接的结果是:

  • 有n1+m1个列;

  • 有n2*m2个行;

形式有:

  • select * from  表1, 表2;

  • select * from  表1  join 表2;

  • select * from  表1  cross  join  表2;

例:
mysql接続クエリ例の詳しい説明
mysql接続クエリ例の詳しい説明
结果:
mysql接続クエリ例の詳しい説明

内连接  inner  join:

形式:select  *  from  表1  【inner】  join  表2  on  连接条件;as を使用してエイリアスを設定できます:

書き込みここに画像の説明があります 🎜🎜左 (外部) 結合: 🎜🎜 形式: 🎜
表1(左表)  left  【outer】 join  表2(右表)  on  连接条件
🎜🎜 意味: 実際、これは 2 つのテーブルの内部結合に加えて、左の表 内部接続で設定された条件に基づくデータの結果 🎜🎜🎜例: 🎜mysql接続クエリ例の詳しい説明🎜結果: 🎜ここに画像の説明を書きます🎜🎜🎜左結合の結果と左テーブルのデータが「すべて取り出される」ことがわかります; 🎜🎜🎜right (外部) 結合: 🎜 🎜 形式: 🎜
表1(左表)  right  【outer】 join  表2(右表)  on  连接条件
🎜🎜 意味: 実際には、これは 2 つのテーブルの内部結合の結果に、右側のテーブルのデータの結果で設定された条件を満たさないものを加えたものです。内部結合; 🎜🎜🎜例: 🎜mysql接続クエリ例の詳しい説明🎜結果: 🎜mysql接続クエリ例の詳しい説明🎜🎜接続クエリ🎜🎜🎜それだけです 2つ以上のテーブルをデータソースとして「接続」し、そこから必要なデータを取得します; 🎜🎜🎜クロス結合: 🎜🎜🎜条件はなく、基本的な概念のみです結合のすべてのデータ行を連結した結果。これは「デカルト積」とも呼ばれます。🎜🎜🎜テーブル 1 (n1 フィールド、n2 行)、テーブル 2 (m1 フィールド、m2 行) の相互接続の結果は次のようになります: 🎜🎜🎜🎜 n1+ m1 があります。列; 🎜🎜🎜🎜 は n2*m2 行; 🎜🎜🎜🎜select * from Table 1, join Table 2; 🎜選択* テーブル 1 からテーブル 2 を結合します。条件; 🎜

例:
mysql接続クエリ例の詳しい説明
結果:
mysql接続クエリ例の詳しい説明

注: この種のテーブル間の内部結合クエリは、テーブル間の「関係」 (通常は外部キー関係) として反映できますが、必ずしもそうである必要はありません。この接続を使用するための外部キー関係。

as を使用して別名を設定できます:
mysql接続クエリ例の詳しい説明

左 (外部) 結合:

形式:

表1(左表)  left  【outer】 join  表2(右表)  on  连接条件

意味: 実際、これは 2 つのテーブルの内部結合の結果です。さらに、内部結合で設定された条件を満たさない上の左の表のデータの結果:

結果:
mysql接続クエリ例の詳しい説明

mysql接続クエリ例の詳しい説明 左結合の結果と、左側のテーブルのデータは間違いなく「すべて "Take out" になります。

右 (外部) 結合:

形式:

表1(左表)  right  【outer】 join  表2(右表)  on  连接条件

意味: 実際、これは 2 つのテーブルの内部結合の結果です。 、内部結合を満たさない右のテーブルの結果を加えたもの 設定された条件に従ったそれらのデータの結果

結果:


関連する推奨事項: mysql接続クエリ例の詳しい説明

mysql 接続クエリ結合、右結合、内部結合の例の詳細な説明mysql接続クエリ例の詳しい説明

MySQL 接続クエリ インデックスの重要性

古典的な mysql 接続クエリの例_MySQL

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

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