Heim  >  Artikel  >  Datenbank  >  So führen Sie Abfrageergebnisse in MySQL zusammen

So führen Sie Abfrageergebnisse in MySQL zusammen

王林
王林nach vorne
2023-05-26 22:22:322755Durchsuche

Mehrere SELECT-Anweisungen können über das Schlüsselwort UNION zu einer einzigen Ergebnismenge kombiniert werden. Beim Zusammenführen müssen die Anzahl der Spalten und Datentypen, die den beiden Tabellen entsprechen, gleich sein. Trennen Sie SELECT-Anweisungen mit dem Schlüsselwort UNION oder UNION ALL. UNION verwendet nicht das Schlüsselwort ALL und doppelte Datensätze werden während der Ausführung gelöscht. Alle zurückgegebenen Zeilen sind eindeutig. Die Funktion des Schlüsselworts ALL besteht nicht darin, doppelte Zeilen zu löschen und die Ergebnisse nicht automatisch zu sortieren. Das grundlegende Syntaxformat lautet wie folgt:

SELECT column,... FROM table1
UNION [ALL]
SELECT column,... FROM table2

Fragen Sie die Informationen aller Früchte mit einem Preis von weniger als 9 ab, fragen Sie die Informationen aller Früchte mit s_id gleich 101 und 103 ab, verwenden Sie UNION, um die Abfrageergebnisse zu verbinden, die SQL-Anweisung lautet wie folgt:

SELECT s_id, f_name, f_price
FROM fruits
WHERE f_price < 9.0
UNION SELECT s_id, f_name, f_price
FROM fruits
WHERE s_id IN(101,103);

Die kombinierten Abfrageergebnisse lauten wie folgt:

So führen Sie Abfrageergebnisse in MySQL zusammen

UNION kombiniert die Ergebnisse mehrerer SELECT-Anweisungen in einem einzigen Ergebnissatz, wie bereits erwähnt. Die Ergebnisse jeder SELECT-Anweisung können separat angezeigt werden:

SELECT s_id, f_name, f_price FROM fruits WHERE f_price < 9.0;

So führen Sie Abfrageergebnisse in MySQL zusammen

SELECT s_id, f_name, f_price FROM fruits WHERE s_id IN(101,103);

So führen Sie Abfrageergebnisse in MySQL zusammen

Aus den Ergebnissen der einzelnen Abfragen können wir erkennen, dass die erste SELECT-Anweisung Früchte mit einem Preis von weniger als 9 abfragt und die zweite SELECT-Anweisung fragt den Lieferanten 101 und 103 bereitgestellte Früchte ab. Verwenden Sie UNION, um zwei SELECT-Anweisungen zu trennen. Kombinieren Sie nach der Ausführung die Ausgabeergebnisse zu einem einzigen Ergebnissatz und löschen Sie doppelte Datensätze.

Im vorherigen Beispiel wurden aufgrund der Verwendung von UNION ALL zur Aufnahme doppelter Zeilen dieselben Datensätze generiert, wenn separate Abfragen durchgeführt wurden. UNION entfernt automatisch doppelte Zeilen aus der Abfrageergebnismenge. Wenn Sie alle übereinstimmenden Zeilen ohne Löschung zurückgeben möchten, können Sie UNION ALL verwenden.

Fragen Sie die Informationen aller Früchte mit einem Preis unter 9 ab, fragen Sie die Informationen aller Früchte mit s_id gleich 101 und 103 ab, verwenden Sie UNION ALL, um die Abfrageergebnisse zu verbinden, die SQL-Anweisung lautet wie folgt:

SELECT s_id, f_name, f_price
FROM fruits
WHERE f_price < 9.0
UNION ALL
SELECT s_id, f_name, f_price
FROM fruits
WHERE s_id IN(101,103);

Die Abfrage Die Ergebnisse lauten wie folgt:

So führen Sie Abfrageergebnisse in MySQL zusammen

Die Ergebnisse können sein: Wie Sie sehen können, entspricht die Gesamtzahl der Datensätze hier der Summe der von den beiden SELECT-Anweisungen zurückgegebenen Datensätze. Die Ergebnisse der Join-Abfrage entfernen keine Duplikate Reihen.

Tipps: Der Unterschied zwischen UNION und UNION ALL: Die Funktion der Verwendung von UNION ALL besteht nicht darin, doppelte Zeilen zu löschen. Außerdem erfordert die Ausführung des Schlüsselworts ALL weniger Ressourcen. Verwenden Sie es daher so oft wie möglich, damit Sie es wissen sind doppelte Zeilen, aber wenn Sie diese Zeilen beibehalten und sicherstellen möchten, dass die Abfrageergebnisse keine doppelten Daten enthalten oder keine Notwendigkeit besteht, doppelte Daten zu entfernen, sollten Sie UNION ALL verwenden, um die Abfrageeffizienz zu verbessern.

Das obige ist der detaillierte Inhalt vonSo führen Sie Abfrageergebnisse in MySQL zusammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen