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() メソッドの使用の概要

推薦する

仕事でよく使うLinuxコマンドまとめ

仕事では、docker や kubernetes などのオープンソース ツールをさらに活用しましょう...

react-diagram シリアル化 Json 解釈 ケース分析

このドキュメントの目的はreact-diagramフレームワーク モデルの Json シリアル化を説...

Linux/Mac MySQL パスワードを忘れた場合の対処方法

Linux/Mac の MySQL パスワードを忘れた場合はどうすればいいですか?心配しないでくださ...

JavaScript イベント ループのケース スタディ

js のイベント ループJavaScript はシングルスレッドなので、同じイベントで実行できるメソ...

WeChat アプレットカスタムタブバーステップ記録

目次1. はじめに2. タブバーのスタイルをカスタマイズする3. カスタムタブバーと関連設定を導入す...

Vueはシンプルな計算機能を実装します

この記事では、参考までに、Vue の具体的なコードで簡単な計算機を実装する方法を紹介します。具体的な...

MySQL マスタースレーブレプリケーションの遅延の原因と解決策

目次レプリケーション ロジックの簡単な概要:遅延の原因と解決策〇メインデータベースへの頻繁なDMLリ...

CSS3 回転キューブ問題の詳細な説明

3D座標の概念要素が回転すると、その座標軸も一緒に回転します。注 -y方向の問題立方体を回転させる効...

HTML の表の行と列を結合する問題の解決策の詳細な説明

私たちが構築しようとしていたウェブサイトには、長い文章だけでなく、多数の表も含まれており、表のレイア...

CSS で垂直方向の中央揃えを実装するいくつかの方法の概要

フロントエンドのレイアウト プロセスでは、水平方向の中央揃えを実現するのは比較的簡単で、通常は ma...

Win10 + Ubuntu20.04 LTS デュアルシステムブートインターフェースの美化

エフェクト表示組み込みのブートインターフェースがあまりにも醜いので、テーマをダウンロードして美しくし...

我々は自らの力でIE6を絶滅に追い込んでいる

実際、IE6 が本当にいつ消滅するのか私たちは毎日疑問に思っていますが、2001 年のリリース以来、...

HTMLテーブルレイアウトの実践的な使い方の詳しい説明

テーブルはいつ使用されますか?最近では、Web ページの全体的なレイアウトにテーブルが使用されること...

MySQL マルチテーブル結合クエリの詳細な説明

目次複数テーブル結合クエリ内部結合左結合右結合サブクエリ要約する複数テーブル結合クエリテーブル間の接...

MySQL が重複データを挿入するのを防ぐ 3 つの方法

新しいテーブルを作成する テーブル「人」を作成します( `id` int NOT NULL COMM...