Heim > Datenbank > MySQL-Tutorial > Hauptteil

Kombinierte MySQL-Abfrage: Was ist eine kombinierte Abfrage? So erstellen Sie eine kombinierte Abfrage

巴扎黑
Freigeben: 2018-05-14 14:49:43
Original
11611 Leute haben es durchsucht

Was ist eine kombinierte Abfrage?

Die meisten SQL-Abfragen enthalten nur eine einzige SELECT-Anweisung, die Daten aus einer oder mehreren Tabellen zurückgibt. Mit MySQL können Sie auch mehrere Abfragen (mehrere SELECT-Anweisungen) ausführen und die Ergebnisse als einzelne Abfrageergebnismenge zurückgeben. Diese kombinierten Abfragen werden häufig als Unions- oder zusammengesetzte Abfragen bezeichnet.

Es gibt zwei grundlegende Situationen, in denen kombinierte Abfragen verwendet werden müssen:

1. Rückgabe ähnlich strukturierter Daten aus verschiedenen Tabellen in einer einzigen Abfrage; Die Tabelle führt mehrere Abfragen aus und gibt Daten als eine einzige Abfrage zurück.

Abfragen und mehrere WHERE-Bedingungen kombinieren In den meisten Fällen erfüllt die Kombination zweier Abfragen in derselben Tabelle die gleiche Aufgabe wie eine einzelne Abfrage mit mehreren WHERE-Klauselbedingungen. Mit anderen Worten: Jede SELECT-Anweisung mit mehreren WHERE-Klauseln kann als kombinierte Abfrage angegeben werden, wie Sie in den folgenden Absätzen sehen können. Beide Techniken funktionieren bei unterschiedlichen Abfragen unterschiedlich. Daher sollten Sie beide Techniken ausprobieren, um festzustellen, welche für eine bestimmte Abfrage die bessere Leistung erbringt.

So erstellen Sie eine kombinierte Abfrage

Mit dem UNION-Operator können Sie mehrere SQL-Abfragen kombinieren. Mit UNION können Sie mehrere SELECT-Anweisungen angeben und deren Ergebnisse in einem einzigen Ergebnissatz kombinieren.

UNION verwenden

UNION zu verwenden ist sehr einfach. Es ist lediglich erforderlich, jede SELECT-Anweisung anzugeben und zwischen jeder Anweisung das Schlüsselwort UNION einzufügen.

Angenommen, Sie benötigen eine Liste aller Artikel mit einem Preis kleiner oder gleich 5 und möchten außerdem alle von den Lieferanten 1001 und 1002 hergestellten Artikel (unabhängig vom Preis) einbeziehen. Natürlich kann dies mit einer WHERE-Klausel erfolgen, aber dieses Mal verwenden wir UNION .

Wie bereits erwähnt, erfordert das Erstellen einer UNION das Schreiben mehrerer SELECT-Anweisungen. Schauen wir uns zunächst eine einzelne Anweisung an:

Eingabe:

Ausgabe:
select vend_id,prod_id,prod_price from products where prod_price <= 5;
Nach dem Login kopieren

Kombinierte MySQL-Abfrage: Was ist eine kombinierte Abfrage? So erstellen Sie eine kombinierte AbfrageEingabe:

Ausgabe:
select vend_id,prod_id,prod_price from products where vend_id in (1001,1002);
Nach dem Login kopieren

Kombinierte MySQL-Abfrage: Was ist eine kombinierte Abfrage? So erstellen Sie eine kombinierte AbfrageAnalyse: Das erste SELECT ruft alle Artikel ab, deren Preis nicht höher als 5 ist. Das zweite SELECT verwendet IN, um alle von den Lieferanten 1001 und 1002 produzierten Artikel zu finden.

Um diese beiden Aussagen zu kombinieren, gehen Sie wie folgt vor:

Eingabe:

Ausgabe:
select vend_id,prod_id,prod_price from products where prod_price <= 5 union select vend_id,prod_id,prod_price from products where vend_id in (1001,1002);
Nach dem Login kopieren

Kombinierte MySQL-Abfrage: Was ist eine kombinierte Abfrage? So erstellen Sie eine kombinierte Abfrage Analyse: Diese Anweisung besteht aus den beiden vorherigen SELECT-Anweisungen, getrennt durch das Schlüsselwort UNION. UNION weist MySQL an, zwei SELECT-Anweisungen auszuführen und die Ausgabe in einer einzigen Abfrageergebnismenge zu kombinieren.

Als Referenz ist hier dieselbe Abfrage, die mehrere WHERE-Klauseln anstelle von UNION verwendet:

Eingabe:

In diesem einfachen Beispiel kann die Verwendung von UNION komplexer sein als die WHERE-Klausel zu verwenden. Bei komplexeren Filtern oder wenn Daten aus mehreren Tabellen statt aus einer einzelnen Tabelle abgerufen werden, kann die Verwendung von UNION den Prozess jedoch vereinfachen.
select vend_id,prod_id,prod_price from products where prod_price <= 5 or vend_id in (1001,1002);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonKombinierte MySQL-Abfrage: Was ist eine kombinierte Abfrage? So erstellen Sie eine kombinierte Abfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage