データベースクエリの接続モード

2つのテーブル(a_table、b_table)、関連するフィールドa_table.a_idおよびb_table.b_idを使用して、MySQLの内部接続と外部接続(左(外部)接続、右(外部)接続、完全(外部)接続)を示します。

MySQLバージョン:サーバーバージョン:5.6.31 MySQL Community Server(GPL)

データベーステーブル:a_table、b_table

テーマ:内部接続、左接続(左外部接続)、右接続(右外部接続)、完全接続(完全外部接続)

前提

テーブル構築ステートメント:

CREATE TABLE `a_table` (
  `a_id` int(11) DEFAULT NULL,
  `a_name` varchar(10) DEFAULT NULL,
  `a_part` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `b_table` (
  `b_id` int(11) DEFAULT NULL,
  `b_name` varchar(10) DEFAULT NULL,
  `b_part` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

テーブルテストデータ:

1.内部接続

キーワード:内部結合

语句:select * from a_table a inner join b_table b on a.a_id = b.b_id;

結果:

説明:2つのテーブルのレコードを結合し、関連するフィールドに一致するレコードを返します。つまり、2つのテーブルの交差(影付き)部分を返します。

第二に、左の接続

関連键字:左結合オン/左外部結合オン

语句:select * from a_table a left join b_table b on a.a_id = b.b_id;

結果:

説明:

左結合は左外部結合の略語であり、そのフルネームは左外部結合であり、一種の外部結合です。

左側(外部)接続の場合、左側のテーブル(a_table)のすべてのレコードが表示されますが、右側のテーブル(b_table)には、検索条件を満たすレコードのみが表示されます。右側の表の不十分な場所はNULLです。

3、正しい接続

関連键字:右結合/右外部結合

语句:select * from a_table a right external join b_table b on a.a_id = b.b_id;

結果:

説明:
右結合は、右外部結合の略語です。そのフルネームは、外部結合の一種である右外部結合です。
左側(外部)接続、右側(外部)接続とは異なり、左側のテーブル(a_table)には検索条件を満たすレコードのみが表示され、右側のテーブル(b_table)にはすべてのレコードが表示されます。左側のテーブルの不十分なレコードはすべてNULLです。

4、完全に接続されています

MySQLは現在この方法をサポートしていませんが、他の方法で解決できます。


著作権表示:この記事は、CSDNブロガー「plg17」の元の記事です。CC4.0BY-SAの著作権表示に従います。転載するには、元のソースリンクとこの文を添付してください。
元のリンク:https//blog.csdn.net/plg17/article/details/78758593

おすすめ

転載: blog.csdn.net/qq_43191910/article/details/114953243