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仮想化の基本管理の詳しい説明

推薦する

フロントエンドの状態管理(パート 1)

目次1. フロントエンドの状態管理とは何ですか? 2. ヴュークス3. バス4. ウェブストレージ序...

JDBC および MySQL 一時テーブルスペースの詳細な分析

背景一時テーブルスペースは、データベースのソート操作を管理し、一時テーブルや中間ソート結果などの一時...

Dockerでコンテナを作成するときにコンテナIPを指定する実装例

Docker はコンテナを作成するときに、デフォルトでブリッジ ネットワークを使用し、IP アドレス...

Vue の新しいおもちゃ VueUse の具体的な使い方

目次序文VueUseとは使いやすいおなじみの手ぶれ補正やスロットル機能もありますグローバル状態を共有...

Ubuntuがインターネットに接続できない場合の解決策

問題の説明:デスクトップ コンピューターとキャンパス ネットワークを使用して、有線モードでインターネ...

Linux コマンドラインターミナルで画面を分割するための 2 つのツール

ターミナル分割画面ツールは2つあります: screen と tmux 1. 画面分割を使用する(上下...

Mybatis マッパー動的プロキシの原理の分析

序文動的プロキシの原理を説明する前に、まず、mybatis を統合した後の dao 層の 2 つの実...

JavaScript でオブジェクトをトラバースする 5 つの方法 サンプルコード

目次準備する5つの武器…のためにオブジェクト.キーオブジェクト.getOwnPropertyName...

MySQL 学習ノート: 完全な SELECT ステートメントの使用例と詳細な説明

この記事では、MySQL 学習ノートの select ステートメントの完全な使用方法を例を使用して説...

React リストバーとショッピングカートコンポーネントの使用の詳細な説明

この記事では、Reactリストバーとショッピングカートコンポーネントの具体的なコードを参考までに紹介...

MySQL デッドロックのトラブルシューティング プロセスの完全な記録

序文これまで遭遇したデータベースのデッドロックはすべて、バッチ更新中のロック順序の不一致が原因でした...

40 CSS/JSスタイルと機能的な技術処理

1-ドロップダウン選択ボックスのスタイル設定 - ドロップダウン リストを変更します。 2- <...

Linux ブートシステム方式の分析

この記事では、Linux システムを起動する方法について説明します。ご参考までに、詳細は以下の通りで...

他の人が私のウェブページを保存したり、サイトをコピーしたりするのを防ぐためのヒント

現在、インターネット上でウェブサイトをコピーすることは非常に一般的です。では、他人が私たちのウェブサ...

なぜCSSをヘッドタグに配置する必要があるのか

考えてみてください。なぜcss 、 javascriptのようにbodyタグの末尾ではなく、 hea...