Inhaltsverzeichnis
SELECT-Statements-Zusammenfassung
Statement 1
SELECT * FROM kunde;
⇒ alle Spalten der Tabelle kunde
Statement 2
SELECT * FROM kunde WHERE nachname=“Harrison“;
⇒ Es werden alle Datensätze der Tabelle kunde ausgegeben, deren Nachname Harrison ist.
Statement 3
SELECT * FROM kunde WHERE nachname=’Yoko’ AND nachname=’Ono’;
⇒ Es werden alle Datensätze der Tabelle ausgegeben, deren Vorname Yoko und deren Nachname Ono ist.
Statement 4
SELECT anrede, vorname, nachname FROM kunde WHERE vorname=‘Yoko‘ AND nachname=‘Ono‘;
⇒ Selbe Ausgabe wie Statement 3), aber lediglich die Spalten anrede, vorname und nachname in genau der angegebenen Reihenfolge.
Statement 5
SELECT nachname, vorname, anrede FROM kunde WHERE vorname=‘Yoko‘ AND nachname ASC;
⇒ Ausgabe der Spalten nachname, vorname und anrede für die Datensätze deren Vorname Yoko und Nachname Ono ist, sortiert nach Nachname aufsteigend (ASC). ASC ist Voreinstellung, DASC (absteigend) muss angegeben werden. Es kann nach jeder Spalte sortiert werden mit jeweils eigener Sortierreihenfolge. z.B.
… ORDER BY nachname, vorname DESC;
z.B.:
SELECT nachname, “, “, vorname, “, “, anrede FROM …;
Ausgabe:
Ono | , | Yoko | , | Frau |
Meier | , | Josef | , | Herr |
Statement 6
SELECT DISTINCT anrede FROM kunde;
⇒ Es werden alle unterschiedlichen Werte der Spalte anrede aus der Tabelle kunde angegeben (! Ist aber nicht Case-sensitive!)
Statement 7
SELECT anrede FROM kunde GROUP BY anrede;
⇒ Ausgabe wie Statement 6).
Statement 8
SELECT plz, ort FROM kunde GROUP BY plz HAVING plz=”93049”;
⇒ Ausgabe ist ein Datensatz mit plz und ort für die Postleitzahl 93049.
Achtung! Als Ort wird nur der erste gefundene Datensatz angegeben.
Statement 9
SELECT plz, ort FROM kunde GROUP BY plz HAVING plz IN(“93049”, “93128”, 87005”);
⇒ Ausgabe sind mehrere Datensätze für die Postleitzahlen 93049, 93128 und 87005 – sofern vorhanden. Für plz wird die IN-Option hier verwendet, wenn nur einzelne Werte zutreffen sollen. Bereiche lassen sich über logische Abfragen des Anfangs- und Endwerts erreichen.
… (plz>=“80000“) AND (plz<“90000“);
Statement 10
SELECT plz, ort FROM kunde GROUP BY plz, ort HAVING plz=”93128”;
⇒ Ausgabe sind mehrere Datensätze mit der Postleitzahl 93128, aber unterschiedlichen Ortsnamen. Gleiche Ortsnamen werden ebenfalls aggregiert.
⇒ GROUP BY ist von der Funktion her vergleichbar der ORDER BY –Funktion. Die Kriterien werden von links nach rechts ausgeführt, also Anwendung des ersten Kriteriums und danach die Anwendung des zweiten Kriteriums.
Statement 11
SELECT plz, ort COUNT(plz) FROM kunde GROUP BY plz;
⇒ Ausgabe sind mehrere Datensätze für jede Postleitzahl ein eigener Datensatz, der erst dazu gefundene Ort sowie die Anzahl der Datensätze mit der entsprechenden Postleitzahl.
Statement 12
SELECT plz, ort COUNT(plz) AS PLZ FROM kunde GROUP BY plz;
⇒ Ausgabe wie Statement 11), aber Spalte COUNT(plz) erhält die Überschrift PLZ.