100 likes | 219 Views
Abfragen – Tipps und Tricks. Buch S102ff (Informatik I, Oldenbourg-Verlag). Nach einer Vorlage von Dieter Bergmann. Wie kann man herausfinden, welche Kunden ein Buch gekauft haben?. Mehrere Bedingungen können mit Hilfe der logischen Operatoren UND, ODER und NICHT verknüpft werden.
E N D
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann
Wie kann man herausfinden, welche Kunden ein Buch gekauft haben? • Mehrere Bedingungen können mit Hilfe der logischen Operatoren UND, ODER und NICHT verknüpft werden. • In SQL: AND, OR und NOT • SELECT Kunde.Name • FROM Kunde, Kauf, Artikel • WHERE Kunde.KundenNr=Kauf.KundenNr • AND Kauf.ArtikelNr=Artikel.ArtikelNr AND Artikel.Sparte=`Buch´;
Wie kann man herausfinden, wie viele Artikel ein Kunde gekauft hat? • Die Funktionen • COUNT(<Spalte>), • AVG(>Spalte>), • MAX(<Spalte>), • MIN(<Spalte>) • SUM(<Spalte>) • heißen Aggregatsfunktionen. • Sie können nach einen SELECT-Abfrage stehen und liefern ebenfalls eine Tabelle. SELECT Aggregatsfunktion
Gruppierungsangabe Erweiterung: • Mit GROUP BY können die Datensätze zusammengefasst werden, bei denen Aggregatsfunktionen gleiche Ergebnisse geliefert haben. SELECT Gruppierung und eventuell Bearbeitung von Aggregatsfunktion
Gruppierungsangabe Bedingung Erweiterung: • Mit HAVING <Bedingung> können aus der Ergebnisliste nochmals Datensätze ausgewählt werden, die bestimmte Bedingungen erfüllen. SELECT Gruppierung … HAVING
Erweiterung: • Werte, die für eine Bedingung benötigt werden, können mit Hilfe einer weiteren Abfrage ermittelt werden. • Dies nennt man eine Unterabfrage. • Beispiel: • SELECT Heim, MAX(Tore_H) • FROM Spiele • WHERE Tore_H=(SELECT MAX(Tore_H) FROM Spiele);
Problem: Die Spaltenüberschriften in der Ergebnistabelle ergeben nicht immer eine treffende Beschreibung • Mit AS <Name> können Spalten neu benannt werden. • SELECT irgendwas AS wichtig • FROM …
Zusammenfassung • Eine Abfrage kann folgendes Aussehen haben, wobei nicht benötigte Teile auch fehlen können: • SELECT <Tabellenliste> • FROM <Spaltenliste> • WHERE <Bedingung> • ORDER BY <Spaltenliste> • GROUP BY <Spalte> • HAVING <Bedingung>; • Ergebnisse von Unterabfragen können im WHERE-Teil zur Formulierung von Bedingungen verwendet werden. • Ergebnisse von Abfragen können als Mengen interpretiert werden, der Enthält-Operator ist IN.
Zusammenfassung • Mit den Aggregatsfunktionen COUNT, AVG, SUM, MAX und MIN lassen sich neue Informationen gewinnen. • Spalten in Ergebnistabellen können mit AS <Name>beliebige Namen zugewiesen werden.
Aufgaben • Buch (Informatik I, Oldenbourg-Verlag) • S107/1-S109/10