Mysql の 2 つのテーブル間の結合クエリの 4 つの状況の概要

Mysql の 2 つのテーブル間の結合クエリの 4 つの状況の概要

一般的に言えば、より完全な結果を得るためには、2 つ以上のテーブルから結果を取得する必要があります。私は通常、select xxx,xxx from table1, table2 where table1.xxx=table2.xxx を使用します。私たちは通常、このような操作を実行します。実際、MySQL には結合操作という別の操作があります。たとえば、次の 2 つのテーブルがあります。

「Persons」テーブルを見てみましょう。

次に、「Orders」テーブルを見てみましょう。

上記の2つのテーブルをクエリに接続します

Persons.LastName、Persons.FirstName、Orders.OrderNo を選択
人物、注文から
ここで、Persons.Id_P = Orders.Id_P

結果セット:

JOINキーワードを使用して2つのテーブルからデータを取得する場合

Persons.LastName、Persons.FirstName、Orders.OrderNo を選択
人物から
INNER JOIN 命令
ON Persons.Id_P = Orders.Id_P
ORDER BY 人.姓

結果セット:

すると、内部結合は上記の通常のクエリと変わりません。

異なるSQL JOIN

  • JOIN: テーブルに少なくとも1つの一致がある場合に行を返します
  • LEFT JOIN: 右側のテーブルに一致するものがない場合でも、左側のテーブルのすべての行を返します。
  • 右結合: 左のテーブルに一致するものがない場合でも、右のテーブルのすべての行を返します。
  • FULL JOIN: いずれかのテーブルに一致する行を返します。

LEFT JOIN キーワード構文

「人物」テーブル:

「注文」テーブル:

Persons.LastName、Persons.FirstName、Orders.OrderNo を選択
人物から
LEFT JOIN 注文
ON Persons.Id_P=Orders.Id_P
ORDER BY 人.姓

結果セット:

SQL RIGHT JOIN キーワード

「人物」テーブル:

「注文」テーブル:

Persons.LastName、Persons.FirstName、Orders.OrderNo を選択
人物から
右結合注文
ON Persons.Id_P=Orders.Id_P
ORDER BY 人.姓

結果セット:

SQL FULL JOIN キーワード

「人物」テーブル:

「注文」テーブル:

FULL JOINの例

Persons.LastName、Persons.FirstName、Orders.OrderNo を選択
人物から
FULL JOIN 注文
ON Persons.Id_P=Orders.Id_P
ORDER BY 人.姓

結果セット:

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • MySQL データベースの集計クエリと結合クエリ操作
  • MySQL初心者はグループ化や集計クエリの煩わしさから解放されます
  • MySQL ジョイントクエリ UNION と UNION ALL の使用法の紹介
  • MySQL マルチテーブルジョイントクエリ効率の詳細な分析と最適化
  • いくつかのMySQLジョイントクエリの一般的な説明
  • MySQL マルチテーブル共同クエリ操作例の分析
  • MySQL 集計クエリと結合クエリ操作の例

<<:  React構成サブルーティングの実装

>>:  CentOS7におけるKVM仮想化の基本管理の詳しい説明

推薦する

ウェブサイトレイアウトにおける CSS の計算関数 calc の例

calc は数値を計算するために使用される CSS 関数です。長さ、角度、時間などを計算できます。 ...

純粋なCSSを使用してスクロールシャドウ効果を実現します

端的に言うと、スクロール可能な要素には非常によくある状況があります。通常、スクロールすると、要素が現...

W3C チュートリアル (13): W3C WSDL アクティビティ

Web サービスは、アプリケーション間の通信に関係します。 WSDL は、XML ベースの Web ...

WeChatミニプログラムの基本チュートリアル:Echartの使用

序文まずは最終的な効果を見てみましょう。私が自分で作った小さなデモです。まずEChartsの公式サイ...

独自の YUM リポジトリを作成する手順

簡単に言うと、ウェアハウスとして使用される仮想マシンの IP は 192.168.149.129 で...

ウェブサイトの高速化における CDN、SCDN、DCDN の違いは何ですか?どうやって選ぶ?

1. CDNこれは、Web サイト上で最もよく使用される加速機能です。分散サーバー レイアウトによ...

MySQL が大規模トランザクションを避けるべき理由とその解決方法

何が大問題ですか?長時間実行され、長時間コミットされないトランザクションは、大規模トランザクションと...

mysql 8.0.18.zip のインストールと構成方法のグラフィック チュートリアル (Windows 64 ビット)

以前にインストールされたバージョンのデータベースをアンインストールする方法については、この記事を参照...

MySQLは現在の日付と時刻を取得する関数の例の詳細な説明

現在の日付 + 時刻 (日付 + 時刻) を取得する関数: now() mysql> now(...

MySQLでテーブル名を変更する方法と注意すべき点

目次1. テーブル名を変更する方法2. 注記要約: 1. テーブル名を変更する方法RENAME TA...

Vue で変数式セレクターを実装する方法

目次HTML構造の定義入力タグのバインディング属性入力タグはキーダウンイベントをリッスンしますli ...

MySQL フィールドで NOT NULL を使用する必要があるのはなぜですか?

私は最近新しい会社に入社したのですが、データベース設計にいくつか小さな問題があることに気付きました。...

Vueの最初のプログラムを書くための勉強ノート

目次1. HTMLを書く、最初のVueプログラムビューテンプレートとデータに注意してください決定ルー...

docker-compose で Jenkins をインストールする際の実践的なメモ

ディレクトリを作成する cd /usr/local/docker/ jenkins-docker を...

Vue ページ内の公開マルチタイプ添付画像アップロード領域と適用可能な折りたたみパネル (サンプルコード)

フロントエンド プロジェクトでは、添付ファイルのアップロードは非常に一般的な機能であり、ほぼすべての...