1. Einfügen der abgefragten ErgebnisseGrammatik: in die einzufügende Tabelle einfügen [(Spalte 1, ..., Spalte n)] select {* | (Spalte 1, ..., Spalte n)} aus der abzufragenden Tabelle Die obige Anweisung kann einige Spalten der abzufragenden Tabelle in einige entsprechende Spalten der neuen Tabelle einfügen. 2. Aggregierte Abfrage2.1 EinleitungAggregierte Abfrage: bezieht sich auf eine Methode zum Durchführen einer teilweisen oder vollständigen statistischen Abfrage der Daten eines Felds in einer Datentabelle (d. h. eine Abfrage, die in der Zeilendimension zusammenführt). Beispielsweise der Durchschnittspreis aller Bücher oder die Gesamtzahl der Bücher usw. In diesen Fällen wird die Aggregationsabfragemethode verwendet. 2.2 AggregationsfunktionenAggregatabfragen können die folgenden allgemeinen Aggregatfunktionen verwenden, die den von SQL bereitgestellten „Bibliotheksfunktionen“ entsprechen: Auffüllen:
Als Nächstes verwenden wir als Beispiel die Tabelle mit dem Namen
2.3 Group-by-Klausel Durch die Verwendung der vorherigen Aggregatfunktion werden tatsächlich alle Zeilen in der Tabelle kombiniert. Sie können jedoch auch Als nächstes zeigen wir ein Beispiel einer Tabelle namens emp mit den folgenden Daten
2.4 mit Wenn Sie die gruppierten Ergebnisse nach der Gruppierung mithilfe Beachten:
Beispiel 1: Abfrage von Positionen mit einem Gehalt von über 10.000 3. Gemeinsame Abfrage3.1 EinleitungUnion-Abfrage : Sie kann die Ergebnismengen mehrerer ähnlicher Auswahlabfragen kombinieren. Das heißt, bei der Durchführung einer Abfrage über mehrere Tabellen besteht die Kernidee darin, das kartesische Produkt zu verwenden Kartesische Produktidee: Die Idee der Verwendung des kartesischen Produkts besteht eigentlich darin, die Ergebnisse zweier Tabellen zu permutieren und zu kombinieren. Als nächstes verwenden wir die Idee des kartesischen Produkts, um aus zwei Tabellen A und B eine neue Tabelle C zu erhalten. Schülertabelle A:
Klassentabelle B:
Neue Tabelle C:
Auffüllen:
Über die neu erhaltene Tabelle C können wir die beiden Tabellen A und B verknüpfen, und die Verknüpfung im obigen Beispiel ist die Klassen-ID. Obwohl die beiden Tabellen jetzt verknüpft sind, sind nicht alle Daten in der neuen Tabelle sinnvoll. Beispielsweise sind die Informationen in Zeile 2 tatsächlich falsch. Daher müssen nach dem Verknüpfen der beiden Tabellen einige Einschränkungen hinzugefügt werden, z. B. müssen die Klassen-IDs der Tabellen A und B gleich sein. Zu diesem Zeitpunkt kann eine Tabelle D mit sinnvolleren Daten abgerufen werden. Neue Tabelle D:
An diesem Punkt können wir eine Multi-Table-Abfrage durchführen Beachten: Da die gemeinsame Abfrage das kartesische Produkt verwendet, ist die Anzahl der Zeilen in der neuen Tabelle das Produkt der Vereinigungsmenge aller Tabellen. Daher können die Daten des gemeinsamen Abfrageergebnisses sehr umfangreich sein. Gehen Sie daher mit Vorsicht vor. Die folgenden Beispiele werden alle durch die Tabelle ausgeführt und erlernt, die durch die folgende SQL-Anweisung erstellt wurde. Wenn Sie im folgenden Inhalt arbeiten möchten, können Sie ihn direkt kopieren und verwenden Tabelle löschen, wenn Klassen vorhanden sind; Tabelle löschen, wenn Student vorhanden ist; Tabelle löschen, falls Kurs vorhanden; Tabelle löschen, wenn Punktzahl vorhanden ist; Tabellenklassen erstellen (ID int Primärschlüssel auto_increment, Name varchar(20), `desc` varchar(100)); Tabelle Student erstellen (ID int Primärschlüssel auto_increment, sn varchar(20), Name varchar(20), qq_mail varchar(20), Klassen_ID int); Tabelle „Kurs“ erstellen (ID „int“, Primärschlüssel „auto_increment“, Name „varchar (20)“). Tabelle erstellen (Punktzahl Dezimalzahl (3, 1), Studenten-ID int, Kurs-ID int); in Klassen einfügen (Name, „Beschreibung“) - Werte ('Abteilung Informatik 2019 Klasse 1', 'Studierte Computerprinzipien, C- und Java-Sprachen, Datenstrukturen und Algorithmen'), ('Chinesische Abteilung 2019 Klasse 3', 'Traditionelle chinesische Literatur studiert'), ('Automatisierung 2019 Klasse 5', 'Mechanische Automatisierung studiert'); in student(sn, name, qq_mail, classes_id) Werte einfügen ('09982','Schwarzer Wirbelwind Li Kui','[email protected]',1), ('00835','Bodhi-Patriarch',null,1), ('00391','Nicht zutreffend',null,1), ('00031','Xu Xian','[email protected]',1), ('00054','Ich möchte keinen Abschluss machen',null,1), ('51234','Sprich gut','[email protected]',2), ('83223','sag es mir',null,2), ('09527','Ausländer lernen Chinesisch','[email protected]',2); in Kurs(Name)-Werte einfügen ('Java'),('Traditionelle chinesische Kultur'),('Computerprinzipien'),('Chinesisch'),('Höhere Mathematik'),('Englisch'); in score(score, student_id, course_id) Werte einfügen -- Schwarzer Wirbelwind Li Kui (70,5, 1, 1), (98,5, 1, 3), (33, 1, 5), (98, 1, 6), -- Bodhi Patriarch (60, 2, 1), (59.5, 2, 5), -- Bai Suzhen (33, 3, 1), (68, 3, 3), (99, 3, 5), -- Xu Xian (67, 4, 1), (23, 4, 3), (56, 4, 5), (72, 4, 6), -- Ich möchte nicht abschließen (81, 5, 1), (37, 5, 5), -- Sprich nett (56, 6, 2), (43, 6, 4), (79, 6, 6), -- Sag mir (80, 7, 2),(92, 7, 6); 3.2 Innerer JoinGrammatik: -- Methode 1: Wählen Sie die angezeigten Spaltennamen aus Tabelle 1 [Alias Tabelle 1], Tabelle 2 [Alias Tabelle 2] aus, wo die Join-Bedingung; -- Methode 2: Verwenden Sie [inner] join auf Wähle den angezeigten Spaltennamen aus Tabelle 1 [Alias Tabelle 1] [inner] und verbinde Tabelle 2 [Alias Tabelle 2] unter Verbindungsbedingung. Auffüllen:
Beispiel 1: Abfrage der Noten von Xu Xian in jedem Kurs 3.3 Äußerer JoinÄußerer Join: unterteilt in linken äußeren Join und rechten äußeren Join. Wenn Sie eine Union-Abfrage verwenden, wird bei Verwendung eines Left Outer Join die linke Tabelle vollständig angezeigt, bei Verwendung eines Right Outer Join die rechte Tabelle vollständig angezeigt. Äußere Verknüpfungen ähneln inneren Verknüpfungen darin, dass beide kartesische Produkte verwenden. Der innere Join dient dazu, dass alle Daten in den beiden Tabellen 1:1 korrespondieren. Wie kann es also sein, dass es sich nicht um eine 1:1-Entsprechung handelt? Beispielsweise die folgenden beiden Tabellen A und B Eine Tabelle:
Tabelle B:
Wir haben festgestellt, dass beim Erstellen der neuen Tabelle nach dem kartesischen Produkt der Datensatz mit der ID 3 in Tabelle A keine entsprechenden Daten in Tabelle B hat und der Datensatz mit der Studenten-ID 4 in Tabelle B keine entsprechenden Daten in Tabelle A hat. Daher können diese beiden Tabellen nicht mit der Methode des inneren Joins abgefragt werden, und es muss ein äußerer Join verwendet werden. Wenn die Left-Join-Methode verwendet wird, sieht die neue Tabelle C wie folgt aus:
Bei Verwendung der richtigen Join-Methode sieht die neue Tabelle D wie folgt aus:
Auffüllen:
Grammatik: -- Left Join, Tabelle 1 wird vollständig angezeigt. Wähle die angezeigten Spaltennamen aus Tabelle 1 aus [Tabelle 1 Alias] [links], verknüpfe Tabelle 2 [Tabelle 2 Alias] unter Join-Bedingung. -- Rechts verbinden, Tabelle 2 wird vollständig angezeigt. Wähle die angezeigten Spaltennamen aus Tabelle 1 aus [Tabelle 1 Alias] [rechts] Verbinde Tabelle 2 [Tabelle 2 Alias] unter Verbindungsbedingung. 3.4 SelbstbeitrittSelf-Join: bezieht sich auf das Verbinden derselben Tabelle mit sich selbst für die Abfrage. Durch die Verwendung von Self-Join können tatsächlich „Zeilen in Spalten umgewandelt“ werden, um Operationen durchzuführen. Warum kann Self-Join Zeilen für den Vorgang in Spalten umwandeln? Angenommen, es gibt eine Tabelle A
Wenn ich die Informationen zu den Studierenden finden möchte, deren Nach der Ausführung eines kartesischen Produkts auf sich selbst erhalten wir eine neue Tabelle B
An diesem Punkt stellen wir fest, dass wir, wenn wir ein kartesisches Produkt auf der ursprünglichen Tabelle durchführen, zwei identische Tabellen haben und Operationen zwischen Zeilen durchführen können. Beispiel: Abfrage von Studenten, deren Java-Ergebnisse höher sind als die Ergebnisse in Computer Principles 3.5 Unterabfragen Unterabfrage: bezieht sich auf eine in andere SQL-Anweisungen eingebettete Einstufung:
Auffüllen:
Zusammenfassend: Basierend auf der Beispiel 1: Abfrage der Klassenkameraden des Klassenkameraden, der keinen Abschluss machen möchte (zuerst müssen Sie die Klasse des Klassenkameraden kennen, der keinen Abschluss machen möchte, und dann die Schüler nach Klasse filtern) 3.6 Abfrage zusammenführen Zusammenführungsabfrage: Verwenden Sie den Set-Operator Auffüllen:
Beispiel: Informationen zu Kursen mit einer ID kleiner als 3 oder Java anzeigen Das könnte Sie auch interessieren:
|
<<: Detaillierte Erläuterung der kleinen Zustandsverwaltung basierend auf React Hooks
>>: Einführung in die JWT-Verifizierung mit Nginx und Lua
In letzter Zeit habe ich jeden Tag an meinen Absch...
Inhaltsverzeichnis 1. Reduzieren Sie die Anzahl d...
Wie lässt sich bei einem unbekannten Server oder ...
1. Überprüfen Sie, ob der MySQL-Dienst gestartet ...
einführen GitLab CE oder Community Edition ist ei...
1. Laden Sie das Installationspaket herunter Down...
Inhaltsverzeichnis Erstellen von OAuth-Apps Holen...
Kaufzertifikat Sie können es beim Cloud Shield Ce...
Detaillierte Erläuterung der Reihenfolge der MySQ...
So schreiben Sie Konfigurationsdateien und verwen...
1.MySQL-Replikationskonzept Dies bedeutet, dass d...
Tipps zum Anzeigen von Verlaufsdatensätzen und Hi...
In diesem Artikel werden hauptsächlich zwei Arten...
Erste Abfragetabellenstruktur (sys_users): WÄHLEN...
<br /> Im ersten und zweiten Teil haben wir ...