ホームページ > データベース > mysql チュートリアル > mysqlの左結合、右結合、内部結合

mysqlの左結合、右結合、内部結合

王林
リリース: 2019-08-23 15:14:38
転載
3176 人が閲覧しました

A ガソリン カード テーブル:

id、userName、cardNo

1 aaa 222

B給油記録テーブル:

id、number、userName、 CardNo,

1 1234 111

##2 234 bbb left join:

select * from B   b    left join  A a on a.userName = b.userName   where b.userName=aaa
ログイン後にコピー

上記 SQL の on 以降の条件により、userName はテーブル内の複数のエントリに対応します1 ではなく A であり、結果セットはデカルト積になります。表 B の 1 つの項目は、表 A の残りの 2 つの項目を満たします。結果は 2 です。

select * from B   b    left join  A a on a.userName = b.userName  and a.cardNo = b.cardNo  where b.userName=aaa
ログイン後にコピー

上記の SQL では、on 以降の 2 つの条件ではテーブル A 内で一意のデータが 1 つしか見つかりません。そのため、結果はテーブル B 内でどこを満たすデータがいくつあるかとなり、結果セットは次のようになります。データの個数を返します。これは返されたデータの一部です。

右結合:

次の SQL は、上記の左結合と同じ効果があります:

select * from A   a    right join  B b on a.userName = b.userName  and a.cardNo = b.cardNo  where b.userName=aaa
ログイン後にコピー

inner join:

select * from A   a    inner  join  B b on a.userName = b.userName  and a.cardNo = b.cardNo  where a.userName=aaa
ログイン後にコピー
まず、on 以降の条件を見てみましょう。テーブル A のデータが on の 2 つの条件に一致し、B にデータが 1 つだけある場合、 where 条件を満たすデータを 2 つ返します。

select * from B   b    inner  join  A a on a.userName = b.userName  and a.cardNo = b.cardNo  where a.userName=aaa
ログイン後にコピー

上記を要約すると、後ろの条件を見て、関連テーブルに 1 つ以上のデータがあるかどうかを確認します。

その他の関連する質問については、PHP 中国語 Web サイトを参照してください:

mysql ビデオ チュートリアル

以上がmysqlの左結合、右結合、内部結合の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート