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