Ein kurzes Verständnis des Unterschieds zwischen MySQL Union All und Union

Ein kurzes Verständnis des Unterschieds zwischen MySQL Union All und Union

Union ist eine Vereinigungsoperation für die Daten, bei der doppelte Zeilen ausgeschlossen werden und die Standardsortierung durchgeführt wird. Union all ist eine Vereinigungsoperation für die Daten, bei der doppelte Zeilen eingeschlossen werden und keine Sortierung durchgeführt wird. Beispiel:

Erstellen Sie die Datenbanktabellen:

Tabelle „t_demo“ erstellen (
 `id` int(32) NICHT NULL,
 `name` varchar(255) DEFAULT NULL,
 `Alter` int(2) DEFAULT NULL,
 `num` int(3) DEFAULT NULL,
 PRIMÄRSCHLÜSSEL (`id`)
)ENGINE=InnoDB STANDARD-CHARSET=utf8;

Kopieren Sie diese Tabelle:

Tabelle erstellen `t_demo_copy` (
 `id` int(32) NICHT NULL,
 `name` varchar(255) DEFAULT NULL,
 `Alter` int(2) DEFAULT NULL,
 `num` int(3) DEFAULT NULL,
 PRIMÄRSCHLÜSSEL (`id`)
)ENGINE=InnoDB STANDARD-CHARSET=utf8;

Daten hinzufügen:

INSERT INTO `t_demo` VALUES ('1', '10', '21', '69');
INSERT INTO `t_demo` VALUES ('2', 'Li Si', '22', '98');
INSERT INTO `t_demo` VALUES ('3', '3', '54', '20', '54');
INSERT INTO `t_demo` VALUES ('4', '4', '22', '80');
INSERT INTO `t_demo_copy` VALUES ('1', '69', '21', '69');
INSERT INTO `t_demo_copy` VALUES ('2', 'Zhu Bajie', '22', '98');
INSERT INTO `t_demo_copy` VALUES ('3', '3', '20', '54');
INSERT INTO `t_demo_copy` VALUES ('4', '4', '22', '80');
INSERT INTO `t_demo_copy` VALUES ('5', '5', '22', '100');
INSERT INTO `t_demo_copy` VALUES ('6', 'Li Si', '24', '99');

UNION in MySQL

WÄHLEN SIE * VON t_demo
UNION
WÄHLEN SIE * AUS t_demo_copy

Abfrageergebnisse:

Aus den obigen Abfragedaten können wir Folgendes ableiten:

Nachdem UNION die Tabellen verknüpft hat, filtert es doppelte Datensätze heraus, sortiert den generierten Ergebnissatz, löscht doppelte Datensätze und gibt dann die Ergebnisse zurück.

UNION ALL in MySQL

WÄHLEN SIE * VON t_demo
UNION ALLE
WÄHLEN SIE * AUS t_demo_copy

Abfrageergebnisse:

Aus den obigen Daten können wir Folgendes ersehen:

UNION ALL kombiniert einfach die beiden Ergebnisse und gibt sie zurück. Wenn in den beiden zurückgegebenen Ergebnismengen doppelte Daten vorhanden sind, enthält die zurückgegebene Ergebnismenge die doppelten Daten.

Effizienz:

In Bezug auf die Effizienz ist UNION ALL viel schneller als UNION. Wenn Sie also bestätigen können, dass die beiden zusammengeführten Ergebnismengen keine doppelten Daten enthalten und nicht sortiert werden müssen, verwenden Sie UNION ALL.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Kurze Analyse von MySQL Union und Union All
  • Grundlegende Verwendung von UNION und UNION ALL in MySQL
  • Detaillierte Erklärung der Verwendung von UNION in MySQL
  • Tutorial der MySQL-Reihe zum Verständnis der Verwendung der Schlüsselwörter „union“ (alles), „limit“ und „exists“

<<:  Beispiel zum Einrichten eines Linux-Systems zur automatischen Ausführung eines Skripts beim Start

>>:  Zusammenfassung zur Verwendung der Reduce()-Methode in JS

Artikel empfehlen

Einführung in vierzehn Fälle von SQL-Datenbank

Datenblatt /* Navicat SQLite-Datenübertragung Que...

Super ausführliches Tutorial zur Installation von MySQL 8.0.23

Inhaltsverzeichnis Vorwort 1. Laden Sie MySQL von...

MySQL-Abfrage-Cache und Pufferpool

1. Caches - Abfrage-Cache Die folgende Abbildung ...

Abkürzung für HTML DOCTYPE

Wenn Ihr DOCTYPE wie folgt ist: Code kopieren Der ...

jQuery-Plugin zum Erreichen einer Bildunterbrechung

In diesem Artikel wird der spezifische Code des j...

Detaillierte Erklärung der jQuery-Methodenattribute

Inhaltsverzeichnis 1. Einführung in jQuery 2. jQu...

Beispiel zur Erläuterung der Größe einer MySQL-Statistiktabelle

Das Zählen der Größe jeder Tabelle in jeder Daten...

Einige Hinweise zur MySQL-Self-Join-Deduplizierung

Lassen Sie mich kurz das Funktionsszenario erklär...

jQuery implementiert ein atmendes Karussell

In diesem Artikel wird der spezifische Code von j...

Lösung für die horizontale Bildlaufleiste im Iframe unter IE6

Die Situation ist wie folgt: (PS: Das rote Kästche...

Detailliertes Tutorial zum Ausführen von Selenium+Chromedriver auf dem Server

1. Einleitung Ich möchte Selenium verwenden, um D...

Detaillierte Erklärung der langsamen Remote-Verbindung von Navicat zu MySQL

Die endgültige Lösung ist im letzten Bild Wenn Si...