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

推薦する

MySQLグループクエリ最適化方法

MySQL はほとんどの場合、GROUP BY クエリと DISTINCT クエリを同様に処理します...

CSS スタイルのリセットとクリア (異なるブラウザで同じ効果を表示するため)

異なるブラウザ間でページの表示を一致させるためには、フロントエンド開発において CSS スタイルのク...

HTMLタグIDは変数にできる

<table id=" <%=var1%>">、var1...

Hyper-V なしで Windows 10 を動作させるソリューション

Windows10 Home Edition でHyper-vを有効にする方法をまだ探していますか?...

sql_mode を変更する際の MySQL エラーの解決方法

目次ERR 1067による殺人事件2番目の問題の原因はsql_modeです3. sql_modeを設...

Windows に異なる (2 つの) バージョンの MySQL データベースをインストールする詳細なチュートリアル

1. 原因: SQL ファイルをインポートする必要があるのですが、インポートできません。この文を実行...

Alibaba Cloud ECSインスタンスのユーザールートパスワードとリモート接続方法を設定する方法

Alibaba Cloud サーバーを購入した後、新しいインスタンスが正常に動作できるようにするには...

NodeサイトのForever+nginx導入方法例

私は最近、最も安い Tencent クラウド サーバーを購入しました。これは主に、Web テクノロジ...

JS for ループで setTimeout を使用する 4 つのソリューション

目次概要解決策 1: クロージャ解決策2: 構造を分割する解決策3:解決策4: setTimeout...

DockerプライベートイメージライブラリとAlibaba CloudオブジェクトストレージOSSの簡単な分析

Docker プライベートイメージライブラリDockerプライベートイメージライブラリとAlibab...

JSを使用して簡単な計算機を実装する

JSを使用して、参考用の簡単な計算機を完成させます。具体的な内容は次のとおりです。要件: 入力値は数...

CSS3 での 2D および 3D 変換の実装

CSS3 は、要素の 2D 平面変換と視覚的な 3D 空間変換を実装します。2D 変換はより頻繁に使...

MySQL バージョン 5.7.24 のデータベース インストール プロセスの詳細なグラフィック説明

MySQL は最も人気のあるリレーショナル データベース管理システムです。WEB アプリケーションに...

Vue3 ドラッグ可能な左パネルと右パネルの分割コンポーネントの実装

目次コンポーネントの分解左パネル右パネル入力パラメータの分解小道具スロット具体的な実装ドラッグする方...