===== 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**.