ホームページ データベース SQL SQL ステートメントの内部結合、左外部結合、および右外部結合を理解する

SQL ステートメントの内部結合、左外部結合、および右外部結合を理解する

Jan 15, 2021 am 10:20 AM

SQL ステートメントの内部結合、左外部結合、および右外部結合を理解する

# 推奨 (無料): SQL チュートリアル

データベースを初めて学習するとき、DQL の接続クエリについて疑問を持ちませんか?どのようなシナリオで、いつ、どのような種類の接続クエリを使用する必要があるか知っていますか?


SQL ステートメントの内部結合、左外部結合、および右外部結合を理解する 心配しないでください。参考までに、内部結合、左外部結合、右外部結合の特性と適用シナリオについての私の理解を紹介します。

次のコードのデモは、名前テーブルと国テーブルに基づいています。


名前テーブル

id名前1西士2ヤン・ユーファン3 貂蝉4王昭君##5
趙飛燕
カントリーテーブル

id12 34#5戦国時代 6注:
country A_ID
春秋時代の越人 1
唐時代の浦州永楽の人 2
山西省忻州の人後漢末期 3
前漢時代の南順子亀の人々 4
1) b テーブル A_ID とテーブル a_id の間に関係があります。
2) 接続クエリは関連付け条件を使用して不一致を削除します。それ以外の場合、データはデカルト積になります。



1) 内部参加

语法:	select  要查询的字段 from 表名1 inner join 表名2 on 表1.字段 = 表2.字段;
	inner join 可简写为 逗号,
内连接特点:
	只会保留完全符合on后条件的数据
应用场景:
	如果两张表有外键关系可以使用内链接,因为通过内链接每一条只能返回单条记录
ログイン後にコピー
select * from name n inner join country c on n.id = c.N_ID;
ログイン後にコピー
idname idcountryN_ID##1西士#2楊玉環2唐の時代、浦州永楽の人物234
语法:	select 要查询的字段 from 表1 left outer join 表2 on 表1.字段 = 表2.字段;
	outer 可省略
左外连接特点:
	以左表为主,会保留左表中不符合on后条件的数据
应用场景:
	只有部分记录可以从表2中查到,但表1想要显示所有记录,就可以和表2通过左外连接查询。
ログイン後にコピー
rrree
1 元国人 1
##3 貂蝉
東漢末期の山西省忻州出身 3 4 王昭君
前漢時代の南淳紫亀出身 4 2) 左外部結合

id ​​

名前id西士12##3貂蝉3 後漢末期の山西省忻州出身の人物3南君子桂 前漢時代の人々null
N_ID 1
元国人 1 2 楊玉環
唐代浦州永楽の人物 2
##4 王昭君 4
4 5 趙飛燕 null
null 3) 右外部結合
select * from name n left join country c on n.id=c.N_ID;
ログイン後にコピー
rrree
id

name

idcountry #1西士1元国人123##4王趙君4前漢時代の南淳紫桂の出身4null null5戦国時代64) フルリンク
语法:	select * from 表1 right outer join 表2 on 表1.字段 = 表2.字段;
	outer 可省略
右外连接特点:
	以右表为主,会保留右表中不符合on后条件的数据
应用场景:
	和左外连接相反
	只有部分记录可以从表1中查询到,但表2想要显示所有记录, 就可以和表1通过右外连接查询。
ログイン後にコピー
select * from name n right join country c on n.id=c.N_ID;
ログイン後にコピー
idname
N_ID
##2 楊玉環 2 唐代浦州永楽出身の人物
3 貂蝉 3 後漢末期の山西省忻州出身の人物

idcountry

N_ID1 ##2楊玉環2唐代浦州永楽出身の人物2# 345null では適用できません。 何か間違っている場合は、ご指摘ください~sql 列に注目してください~
##1 xishi 1 元国人
貂蝉 3 後漢末期の山西省忻州人 3
王赵君 4 西漢代子亀出身、南順 4
趙飛燕 null null null
null 5 戦国時代 6
注: この構文は MySql さて、紹介は終わりましたが、お役に立ったでしょうか? さらに関連する知識については、

以上がSQL ステートメントの内部結合、左外部結合、および右外部結合を理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SQLを使用して、データプライバシー規制(GDPR、CCPA)に準拠するにはどうすればよいですか? SQLを使用して、データプライバシー規制(GDPR、CCPA)に準拠するにはどうすればよいですか? Mar 18, 2025 am 11:22 AM

記事では、GDPRおよびCCPAコンプライアンスにSQLを使用して、データの匿名化、アクセス要求、および時代遅れのデータの自動削除に焦点を当てています(159文字)について説明します。

SQLインジェクションなどの一般的な脆弱性に対してSQLデータベースを保護するにはどうすればよいですか? SQLインジェクションなどの一般的な脆弱性に対してSQLデータベースを保護するにはどうすればよいですか? Mar 18, 2025 am 11:18 AM

この記事では、SQLインジェクションなどの脆弱性に対してSQLデータベースを保護し、準備されたステートメント、入力検証、定期的な更新を強調しています。

パフォーマンスとスケーラビリティのためにSQLでデータパーティションを実装するにはどうすればよいですか? パフォーマンスとスケーラビリティのためにSQLでデータパーティションを実装するにはどうすればよいですか? Mar 18, 2025 am 11:14 AM

記事では、パフォーマンスとスケーラビリティを向上させるために、SQLでデータパーティションを実装すること、詳細な方法、ベストプラクティス、監視ツールについて説明します。

SQL DateTimeの使用方法 SQL DateTimeの使用方法 Apr 09, 2025 pm 06:09 PM

DateTimeデータ型は、0001-01-01-01 00:00:00:00:00:00:00:00:00:00:00:00:59:59.999999999:59:59.99999999の範囲の高精度の日付情報を保存するために使用され、内部はdateTime(精度)です。変換機能は機能しますが、精度、範囲、およびタイムゾーンを変換する際に潜在的な問題に注意する必要があります。

SQLステートメントを使用してSQL Serverでテーブルを作成する方法 SQLステートメントを使用してSQL Serverでテーブルを作成する方法 Apr 09, 2025 pm 03:48 PM

SQL ServerでSQLステートメントを使用してテーブルを作成する方法:SQL Server Management Studioを開き、データベースサーバーに接続します。データベースを選択してテーブルを作成します。作成テーブルステートメントを入力して、テーブル名、列名、データ型、制約を指定します。 [実行]ボタンをクリックしてテーブルを作成します。

SQL IFステートメントの使用方法 SQL IFステートメントの使用方法 Apr 09, 2025 pm 06:12 PM

SQLステートメントは、SQLステートメントを条件付きで実行するために使用され、構文は次のようになります。if(条件)then {ステートメント} else {ステートメント} end if;。条件は有効なSQL式である可能性があり、条件が真の場合、then句を実行します。条件が偽の場合は、else句を実行します。ステートメントをネストできる場合、より複雑な条件付きチェックを可能にします。

データウェアハウジングとビジネスインテリジェンスにSQLを使用するにはどうすればよいですか? データウェアハウジングとビジネスインテリジェンスにSQLを使用するにはどうすればよいですか? Mar 18, 2025 am 11:16 AM

この記事では、ETLプロセス、データモデリング、クエリの最適化に焦点を当てたデータウェアハウジングとビジネスインテリジェンスにSQLを使用することについて説明します。また、BIレポートの作成とツール統合もカバーしています。

SQL注入を避ける方法 SQL注入を避ける方法 Apr 09, 2025 pm 05:00 PM

SQLインジェクション攻撃を回避するために、次の手順を実行できます。パラメーター化されたクエリを使用して、悪意のあるコードインジェクションを防ぎます。 SQLクエリの構文を壊さないように、特殊文字をエスケープします。セキュリティのために、ホワイトリストに対してユーザー入力を確認します。入力検証を実装して、ユーザー入力の形式を確認します。セキュリティフレームワークを使用して、保護対策の実装を簡素化します。セキュリティの脆弱性をパッチするために、ソフトウェアとデータベースを更新してください。データベースアクセスを制限して、機密データを保護します。不正アクセスを防ぐために、機密データを暗号化します。セキュリティの脆弱性と異常な活動を検出するために、定期的にスキャンおよび監視します。

See all articles