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

推薦する

Javascript Bootstrapのグリッドシステム、ナビゲーションバー、カルーセルの詳細な説明

目次ブートストラップと関連コンテンツの紹介グリッドシステムネストされた列列オフセット列の並べ替えナビ...

Vue を使用してモバイル APK プロジェクトを完了することについての簡単な説明

目次基本設定エントリファイル main.jsアプリ.vue表紙ヘッダー検索バー本体当プロジェクトでは...

クールな花火効果を実現するjs

この記事では、jsを使用してクールな花火効果を実現するための具体的なコードを参考までに共有します。具...

DevUI で独自の Angular コンポーネント ライブラリを構築する方法

目次序文コンポーネントライブラリの作成主要な構成の変更ディレクトリレイアウトの調整ライブラリ構築のた...

ウェブデザインには目的、アイデア、思考、そして粘り強さがなければならない

<br />はじめに:このアイデアは、数日前に上級ウェブデザインの次の記事を考えていると...

Linux での Firewalld の高度な設定の使用に関する詳細な説明

IPマスカレードとポート転送Firewalldは2種類のネットワークアドレス変換をサポートしています...

開発効率を向上させる 20 の JavaScript ヒント

目次1. 配列を宣言して初期化する2. 合計、最小値、最大値を計算する3. 文字列、数値、オブジェク...

Vue3とTypeScriptを組み合わせたプロジェクト開発の実践記録

目次概要1. コンポジションAPI 1. ref と reactive の違いは何ですか? 2. 周...

Tomcat マルチインスタンスの展開と構成の原則

1. ファイアウォールをオフにし、Tomcatのインストールに必要なソフトウェアパッケージを/opt...

Vue の新しいパートナー TypeScript クイックスタート実践記録

目次1. 公式の足場を使って構築する2. プロジェクトディレクトリ分析3. TypeScript の...

MySQL ステートメントの概要

目次1. データベースの使用を選択2. 情報を表示する3. テーブルを作成する4. データを挿入する...

Vue+Openlayerはmodifyを使用して要素の完全なコードを変更します

Vue+Openlayerはmodifyを使って要素を変更します。具体的な内容は以下のとおりです。 ...

MySql のクラッシュとサービスの起動失敗の解決策

私は長い間PHPに触れてきましたが、インストール環境は非常に不慣れです。多くの問題に遭遇しました。B...

DockerとFastDFSのインストールコマンドと使い方の詳しい説明

Dockerの機能1) すぐに始められるユーザーがプログラムを「Docker 化」するには、わずか数...

CocosCreator でカメラトラッキングに cc.follow を使用する方法

Cocos Creator バージョン: 2.3.4デモのダウンロード: https://files...