Tag 3: Advance SQL für Data Science
Dieser Blog enthält Aggregation in SQL und wichtige SQL-Schlüsselwörter (Union, Union all, Group By, Order By, Taking, Case-Anweisungen).
Hallo Leute. Hoffe, dass alles gut geht. Hier ist der dritte Blog zum SQL-Übergang von Basics zu Advance. Probieren Sie es aus.
Gruppiere nach
Die GROUP BY-Anweisung gruppiert Zeilen mit denselben Werten in Zusammenfassungszeilen , z. B. „Ermitteln Sie die Anzahl der Kunden in jedem Land“. Die GROUP BY-Anweisung wird häufig mit Aggregatfunktionen ( COUNT() , MAX() , MIN() , SUM() , AVG() ) verwendet, um die Ergebnismenge nach einer oder mehreren Spalten zu gruppieren.
Gruppieren Sie nach „Haben“.
Die HAVINGKlausel wurde zu SQL hinzugefügt, da das WHERESchlüsselwort nicht mit Aggregatfunktionen verwendet werden kann.
Sortieren nach
Die Order by-Klausel wird verwendet, wenn wir unsere Daten in aufsteigender oder absteigender Reihenfolge benötigen.
. Sortieren nach aufsteigend (zeigt Daten in aufsteigender Reihenfolge)
. Sortieren nach absteigend (zeigt Daten in absteigender Reihenfolge an)
Gruppieren nach mit „Haben“ und „Ordnen nach“.
Wir müssen order by verwenden, nachdem wir die Bedingung haben.
Aggregation in SQL
Es gibt verschiedene Aggregationsfunktionen. Eine Aggregatfunktion führt eine Berechnung für eine Reihe von Werten durch und gibt einen einzelnen Wert zurück. Mit Ausnahme von COUNT(*)ignorieren Aggregatfunktionen Nullwerte. Aggregatfunktionen werden häufig mit der GROUP BY-Klausel der SELECT-Anweisung verwendet.
Verwenden Sie Aggregatfunktionen nur in den folgenden Situationen als Ausdrücke:
- Die Auswahlliste einer SELECT-Anweisung (entweder eine Unterabfrage oder eine äußere Abfrage).
- Eine HAVING-Klausel.
Frage: Warum ist Gruppieren nach in Aggregatfunktionen wichtig?
Die GROUP BY-Anweisung in SQL wird verwendet , um identische Daten mithilfe einiger Funktionen in Gruppen anzuordnen . Das heißt, wenn eine bestimmte Spalte in verschiedenen Zeilen dieselben Werte aufweist, werden diese Zeilen in einer Gruppe angeordnet. Wichtige Punkte: Die GROUP BY-Klausel wird mit der SELECT-Anweisung verwendet.
Summe()
Die SUM()Funktion gibt die Gesamtsumme einer numerischen Spalte zurück.
Zählen()
Die COUNT()Funktion gibt die Anzahl der Zeilen zurück, die einem angegebenen Kriterium entsprechen.
Durchschn.()
Die AVG()Funktion gibt den Durchschnittswert einer numerischen Spalte zurück.
Mindest()
Die MIN()Funktion gibt den kleinsten Wert der ausgewählten Spalte zurück.
Max()
Die MAX()Funktion gibt den größten Wert der ausgewählten Spalte zurück.
SQL-Aliase
SQL-Aliase werden verwendet, um einer Tabelle oder einer Spalte in einer Tabelle einen temporären Namen zu geben. Aliase werden häufig verwendet, um Spaltennamen besser lesbar zu machen.
Mit dem Schlüsselwort wird ein Alias erstellt AS.
Hier ist lastpurchase ein Alias für jeden Verkäufer mit seinem letzten Verkaufsdatum.
SQL UNION
Der UNIONOperator wird verwendet, um die Ergebnismenge von zwei oder mehr SELECTAnweisungen zu kombinieren.
- Jede
SELECTAnweisung darinUNIONmuss die gleiche Anzahl von Spalten haben - Die Spalten müssen außerdem ähnliche Datentypen haben
- Die Spalten in jeder
SELECTAnweisung müssen außerdem in derselben Reihenfolge sein
select user_id,name from user
union
select guest_user_id,name from Guest;
select user_id,name from user
union all
select guest_user_id,name from Guest;
Der SQL-INTERSECT-Operator kombiniert zwei SELECT-Anweisungen und gibt nur den Datensatz zurück, der in beiden Anweisungen gemeinsam ist . Vereinfacht ausgedrückt fungiert es als mathematischer Schnittpunkt. In der Mathematik ist der Schnittpunkt von A und B der gemeinsame Datenwert, der sowohl in A als auch in B vorhanden ist.
select user_id,name from user
Intersect
select guest_user_id,name from Guest;
Die SQL- EXCEPT- Klausel/der SQL-Operator wird zum Kombinieren zweier SELECT-Anweisungen verwendet und gibt Zeilen aus der ersten SELECT-Anweisung zurück, die von der zweiten SELECT-Anweisung nicht zurückgegeben werden. Das bedeutet, dass EXCEPT nur Zeilen zurückgibt, die in der zweiten SELECT-Anweisung nicht verfügbar sind.
Ebenso wie beim UNION-Operator gelten bei der Verwendung des EXCEPT-Operators die gleichen Regeln.
select user_id,name from user
Except
select guest_user_id,name from Guest;
Der CASEAusdruck durchläuft Bedingungen und gibt einen Wert zurück, wenn die erste Bedingung erfüllt ist (wie eine if-then-else-Anweisung). Sobald eine Bedingung wahr ist, stoppt sie den Lesevorgang und gibt das Ergebnis zurück. Wenn keine Bedingungen wahr sind, wird der Wert in der ELSEKlausel zurückgegeben.
Wenn kein Teil vorhanden ist ELSEund keine Bedingungen wahr sind, wird NULL zurückgegeben.
## Case statements
select user_id ,age,gender,case when age >= 25 and gender = 'F' then 1 else 0 end from user ;
## Case statement with count
select gender , count(case when gender = 'F' then user_id end) female ,
count(case when gender = 'M' then user_id end) male from user group by 1;
## In one statement
select gender , count(case when gender = 'F' then user_id when gender = 'M' then user_id end) from user group by 1;
## In one statement with more than one condition
select gender , count(case when age >= 25 and gender = 'F' then user_id when age >= 25 and gender = 'M' then user_id end) from user group by 1;
GITHUB: TAG 3 Sitzung
Referenz :
- https://www.w3schools.com/sql/default.asp
- https://www.geeksforgeeks.org/
Folgen Sie mir für weitere Beiträge zum Thema Data Science!
Lassen Sie uns auf LinkedIn vernetzen !
Holen Sie sich Ihr Persönlichkeits-NFT
und finden Sie Ihre Community überall

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































