Heim  >  Artikel  >  Datenbank  >  Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

WBOY
WBOYnach vorne
2023-05-28 21:31:551660Durchsuche

1. Aggregationsabfrage

1. Aggregationsfunktion (Anzahl, Summe, Durchschnitt...)

Gemeinsame statistische Summen, Berechnung von Gleichstandswerten und anderes Operationen können sein. Verwenden Sie Aggregatfunktionen, um dies zu erreichen. Gängige Aggregatfunktionen sind: ##🎜 🎜#

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-AbfrageoperationenBeachten Sie, dass am Ende where- und order by-Anweisungen hinzugefügt werden können, auf denen diese Aggregatfunktionen basieren Diese Anweisungen fragen die Ergebnismenge ab. 🎜🎜## 🎜🎜#

Bei Verwendung von Aggregatfunktionen statistischer Spalten vermeiden Sie das Schreiben anderer Spalten, da sonst die erste Spalte bedeutungslos angezeigt wird

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

# 🎜🎜##🎜 🎜#

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

    Hinweis:
  • 1.count: Sie können count (*), count ( 0), count (1), um es ganz klar auszudrücken, es ist tatsächlich dasselbe, als würde man 1 aus der gesamten Tabelle auswählen. Die 0 und 1 werden in dieser Zählung einfach als Parameter übergeben. Wählen Sie dann 1 aus der Anzahl

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen2.sum , max, min und avg können nicht in * übergeben werden, Felder oder Ausdrücke müssen mit

3 übergeben werden. avg kann mit sum kombiniert werden und mehrere Aggregatfunktionen können zusammen verwendet werden#🎜🎜 ## 🎜🎜#2.GROUP BY-Klausel Verwenden Sie die GROUP BY-Klausel, um Gruppenabfragen für bestimmte Spalten durchzuführen. Muss erfüllt sein: Wenn Sie GROUP BY für eine Gruppierungsabfrage verwenden, muss das durch SELECT angegebene Feld das „Gruppierungsfeld“ sein und andere Felder müssen in die Aggregatfunktion einbezogen werden, wenn sie in SELECT angezeigt werden sollen.

Die Aggregationsfunktion hinter Select wird ausgeführt, nachdem Group by die Gruppierung abgeschlossen hat

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

Group by Die Essenz Eine der Anweisungen ist die Gruppierung, die häufig bei Aggregatabfragen verwendet wird ## 🎜🎜#

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-AbfrageoperationenDie durch Auswählen angegebenen Felder müssen nach der Gruppierung vorhanden sein. Diejenigen, die nicht verfügbar sind, können nur in der Aggregatfunktion erscheinen, sonst treten Probleme auf

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-AbfrageoperationenGROUP BY-Hinweise

1 Der Kern der Group by-Anweisung ist die Gruppierung, die häufig bei Aggregatabfragen

2 verwendet wird Da es eine Aggregatfunktion gibt, ist möglicherweise eine Gruppierung erforderlich.

3 Bei der Gruppierungsoperation ermöglicht die Abfrage das Gruppieren von Feldern und Aggregatfunktionen, um sicherzustellen, dass danach keine mehreren Zeilen vorhanden sind Gruppierung (z. B. Studenten-ID-Gruppierung, das Abfragefeld kann Studentennamen enthalten, da es nach der Gruppierung nach Studenten nur eine Zeile gibt)

4. Verwenden Sie den Ort, um die Bedingungen vor und nach der Gruppierung zu filtern Gruppierung (der Code wird nacheinander ausgeführt)
  • #🎜🎜 #Ausführungsreihenfolge: ab > mit > ; eindeutige > Reihenfolge nach > limit

    #🎜 🎜#
  • Die Ausführung beginnt von vorne, daher wird der Alias ​​normalerweise hier genannt Benennen Sie es auch in select, aber select wird später ausgeführt und die zuvor benannten Orte werden nicht verwendet.

Limit wird immer am Ende ausgeführt ) von Schüler, wobei Punktzahl>60 nach Klassen-ID mit Klassen-ID6.Gruppieren nach dient dazu, doppelte Zeilen in einer Zeile zusammenzuführen# 🎜🎜 #

7. Bei der Gruppierung nach vielen Feldern werden diese möglicherweise nicht zusammengeführt, aber der Gruppierungseffekt wird erzielt und die Aggregatfunktion kann verwendet werden. Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

3.HAVING

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-AbfrageoperationenGROUP BY-Klausel Wenn Sie nach der Gruppierung die gruppierten Ergebnisse bedingt filtern müssen, können Sie die WHERE-Anweisung nicht verwenden, sondern müssen HAVING verwenden. HAVING wird nach GROUP BY

ausgeführt2. Union-Abfrage ((Hervorhebung) mehrere Tabellen) die zweite Methode. Sie können beide verwenden, aber geben Sie der ersten den Vorrang, damit sie den nachfolgenden äußeren Verknüpfungen entspricht. Die innere Verknüpfung entspricht der Angabe der Verbindungsbedingung für das erhaltene kartesische Produkt

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

Wenn hier keine Gruppe vorhanden ist, wird nur eine Zeile wie die folgende angezeigt, was der Addition aller Punktzahlen aller Schüler entspricht . . Da wir die Gesamtpunktzahl jedes einzelnen Schülers benötigen, müssen wir diese zunächst nach dem Studierendenausweis gruppieren.

2. Äußere VerknüpfungenBeispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

Äußere Verknüpfungen werden in linke äußere Verknüpfungen und rechte äußere Verknüpfungen unterteilt. Der linke äußere Join ist eine Verbindungsmethode, wenn die Tabelle auf der linken Seite vollständig angezeigt wird, wenn eine gemeinsame Abfrage ausgeführt wird. Der rechte äußere Join ist eine Verbindungsmethode, wenn die Tabelle auf der rechten Seite vollständig angezeigt wird, wenn eine gemeinsame Abfrage ausgeführt wird.

Hinweis:

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

Linker Join: Die Daten in der linken Tabelle werden nicht basierend auf

Joining-Bedingungen (der Teil danach, einschließlich und)Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

gefiltert und angezeigt. Andere Bedingungen können weiterhin gefiltert werden, z später Wo und andere Bedingungen hinzufügen.

Wenn in der rechten Tabelle Daten und Werte vorhanden sind, die die Verbindungsbedingungen nicht erfüllen, werden für die Daten in der rechten Tabelle Null und in der linken Tabelle alle angezeigt

  • Syntax: (Hinweis: Ein (kann auch gefolgt werden von where)

  • Die gleiche Abfragemethode kann dieses Mal die Informationen des 8. Schülers anzeigen, dessen Punktzahl leer ist. Alle Daten in der linken Tabelle, also in der Schülertabelle angezeigt werden und von der Verbindungsbedingung stu.id = sco.student_id nicht betroffen sein. Die Auswirkung dieser Verbindungsbedingung besteht darin, dass die Informationen des Studenten „Ausländer, der Chinesisch lernt“ nicht angezeigt werden können, wenn es sich um die vorherige

    innere Verbindung
handelt angezeigt werden

, da es in der Sco-Tabelle keinen solchen Studenten „Ausländer, der Chinesisch lernt“ gibt.

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen3. Selbstverknüpfung

Selbstverknüpfung bedeutet, sich zur Abfrage mit derselben Tabelle zu verbinden. Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

Verwendungsszenario: Vergleichen Sie mehrere Zeilen in derselben Tabelle.

Hinweis: Self-Join-Abfragen können auch mit der Join-On-Anweisung abgefragt werden. 4. Unterabfrage Unterabfrage bezieht sich auf eine in andere SQL-Anweisungen eingebettete SELECT-Anweisung, auch verschachtelte Abfrage genannt

Abfrage und Klassenkameraden von „Möchten keinen Abschluss machen“-Studenten: (selbst beitreten)

Mehrzeilige Unterabfrage: Eine Unterabfrage, die mehrere Datensatzzeilen zurückgibt (häufig verwendet)

Fall: Fragen Sie die Punkteinformationen von „Chinesisch“- oder „Englisch“-Kursen ab: (innere Verbindung)

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

Hier Gruppieren nach spielt nicht die Rolle des Zusammenführens, sondern die Rolle des Gruppierens und alle vereint. Bei Verwendung von UNION und UNION ALL müssen

Felder im Ergebnissatz der Abfrage vorher und nachher konsistent Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

sein.

**In manchen Fällen können mehrere Tabellen nicht verknüpft werden, Sie möchten aber Daten im selben Feld abfragen

**Union ist effizienter als or

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

UnionBeispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

Dieser Operator wird verwendet, um zwei zu erhalten Die Vereinigung von Ergebnismengen. Dieser Operator entfernt automatisch doppelte Zeilen im Ergebnissatz und dedupliziert automatisch, wenn der Dateninhalt genau gleich ist.

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-AbfrageoperationenFall: Fragen Sie die Kurse mit einer ID von weniger als 3 ab oder der Name ist „Englisch“:

union all

Dieser Operator wird verwendet, um die Vereinigung zweier Ergebnismengen zu erhalten. Wenn dieser Operator verwendet wird, werden doppelte Zeilen im Ergebnissatz nicht entfernt. (Wenn die erhaltenen Daten genau gleich sind, werden sie angezeigt und es wird keine Duplizierung durchgeführt)

Fall: Abfrage nach Kursen mit einer ID kleiner als 3 oder mit dem Namen „Java“

#🎜🎜 #

Beispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen

Das obige ist der detaillierte Inhalt vonBeispielanalyse von MySQL-Aggregationsabfrage- und Union-Abfrageoperationen. 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