MySQLのunion allとunionの違いを簡単に理解する

MySQLのunion allとunionの違いを簡単に理解する

Union は、重複行を除外し、デフォルトのソートを実行する、データに対する結合操作です。Union all は、重複行を含め、ソートを行わない、データに対する結合操作です。例:

データベース テーブルを作成します。

テーブル `t_demo` を作成します (
 `id` int(32) NULLではない、
 `name` varchar(255) デフォルト NULL,
 `age` int(2) デフォルト NULL,
 `num` int(3) デフォルト NULL,
 主キー (`id`)
)ENGINE=InnoDB デフォルト文字セット=utf8;

この表をコピーします:

テーブル `t_demo_copy` を作成します (
 `id` int(32) NULLではない、
 `name` varchar(255) デフォルト NULL,
 `age` int(2) デフォルト NULL,
 `num` int(3) デフォルト NULL,
 主キー (`id`)
)ENGINE=InnoDB デフォルト文字セット=utf8;

データを追加:

`t_demo` に VALUES ('1', '张三', '21', '69') を挿入します。
`t_demo` に値 ('2'、'Li Si'、'22'、'98') を挿入します。
`t_demo` に VALUES ('3', '王五', '20', '54') を挿入します。
`t_demo` に VALUES ('4', '赵甜', '22', '80') を挿入します。
`t_demo_copy` に VALUES ('1', '张三', '21', '69') を挿入します。
`t_demo_copy` に値 ('2'、'Zhu Bajie'、'22'、'98') を挿入します。
`t_demo_copy` に VALUES ('3', '王五', '20', '54') を挿入します。
`t_demo_copy` に VALUES ('4', '赵甜', '22', '80') を挿入します。
`t_demo_copy` に VALUES ('5', '孙武空', '22', '100') を挿入します。
`t_demo_copy` に値 ('6'、'Li Si'、'24'、'99') を挿入します。

MySQL の UNION

t_demoから*を選択
連合
t_demo_copyから*を選択

クエリ結果:

上記のクエリデータから次のことがわかります。

UNION はテーブルをリンクした後、重複レコードを除外し、生成された結果セットを並べ替え、重複レコードを削除してから結果を返します。

MySQL の UNION ALL

t_demoから*を選択
ユニオンオール
t_demo_copyから*を選択

クエリ結果:

上記のデータから次のことがわかります。

UNION ALL は、2 つの結果を単純に結合して返します。返された 2 つの結果セットに重複データがある場合、返された結果セットには重複データが含まれます。

効率:

効率の面では、UNION ALL は UNION よりもはるかに高速です。したがって、2 つのマージされた結果セットに重複データが含まれず、並べ替える必要がないことが確認できる場合は、UNION ALL を使用します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL の union と union all の簡単な分析
  • MySQL における UNION と UNION ALL の基本的な使い方
  • MySQLにおけるUNIONの使い方の詳細な説明
  • union (all) と limit および exists キーワードの使用法を理解するための MySQL シリーズチュートリアル

<<:  Linux システムを起動時に自動的にスクリプトを実行するように設定する方法の例

>>:  JS での Reduce() メソッドの使用の概要

推薦する

Ubuntu16.04にclionをインストールするプロセス全体と手順の詳細な説明

CLion のプロセス全体を最初から説明します。CLion は、JetBrains がリリースした新...

resizeを使用して画像切り替えプレビュー機能を実装する方法

要点CSS resize プロパティを使用すると、要素のサイズ変更可能性を制御できます。サイズ変更を...

MySQL B-Tree インデックスの簡単な分析

Bツリーインデックス異なるストレージ エンジンでは、異なるストレージ構造を使用する場合もあります。た...

CSS 属性値正規マッチングセレクターの使い方 (ヒント)

属性値の正規一致セレクターには 3 つの種類があります。 [属性^="値"] [...

Reactマウスの複数選択機能の設定方法

一般的に、リストには選択機能があり、単一選択、二重選択、複数選択が非常に一般的です。カスタム ループ...

IDEA は Docker プラグインを使用します (初心者向けチュートリアル)

目次例示する1. Dockerリモートアクセスを有効にする2. Dockerに接続する3. イメージ...

CSS における z-index: 0 と z-index: auto の違い

最近、スタック コンテキストについて学習しています。学習の過程で、z-index が 0 の場合と ...

Ubuntu 18.04 でソースコードから Odoo14 をインストールするチュートリアル

目次このシリーズの背景概要PostgreSQL データベースの準備ソースからインストール仮想環境の作...

TSで最も一般的な宣言マージ(インターフェースマージ)

目次1. マージインターフェース1.1 非関数メンバー1.2 関数メンバー序文:今日お話ししたいのは...

Mysql SSHトンネル接続を使用するための基本的な手順

序文セキュリティ上の理由から、MySQL の root ユーザーはローカルにのみログインでき、外部ネ...

Nginx rtmp モジュールのコンパイル ARM バージョンの問題

目次1. 準備: 2. ソースコードのコンパイル1. 設定する2. コンパイルエラー3. ターゲット...

Navicat でストアド プロシージャ、トリガーを作成し、カーソルを使用する簡単な例 (画像とテキスト)

1. テーブルを作成する<br /> まず、2 つのテーブル (users テーブルと...

Tomcat サーバーの設定と Web プロジェクトの公開に関する IDEA グラフィック チュートリアル

1. Webプロジェクトを作成したら、Tomcatを例にサーバーを構成する必要があります。 2. 実...

WeChatミニプログラムが星評価を実装

この記事では、WeChatアプレットで星評価を実装するための具体的なコードを参考までに紹介します。具...

インデックスは MySQL クエリ条件で使用されますか?

雇用主から MySQL クエリ条件でインデックスが使用されるかどうかを尋ねられた場合、どのように答え...