Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
faecher:informatik:oberstufe:datenbanken:sql_gruppierungen:start [20.10.2020 16:01] – [Aufgaben] sbel | faecher:informatik:oberstufe:datenbanken:sql_gruppierungen:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== SQL – Gruppierungen ====== | ||
- | Datensätze, | ||
- | |||
- | ^ Ohne Gruppierung | ||
- | | '' | ||
- | | {{ .: | ||
- | | | '' | ||
- | | | {{ .: | ||
- | |||
- | |||
- | |||
- | Alle Artikel mit dem Preis von 1,00 Euro werden durch die Gruppierung auf einen Datensatz " | ||
- | Im Falle der zweiten Gruppierungsklausel wird zusätzlich der Gesamtbestand aller Artikel einer Preiskategorie mithilfe der Aggregationsfunktion '' | ||
- | |||
- | {{ .: | ||
- | |||
- | Genau genommen ist die Verwendung der Wilcard * zur Auswahl aller Spalten in Kombination mit GROUP BY nur bedingt sinnvoll, da diejenigen Spalten, nach denen nicht gruppiert wird, unterschiedliche Werte aufweisen können. Das Beispiel in Tabelle 1 zeigt, dass in einem solchen Fall die Werte eines (beliebigen) Datensatzes der Gruppe in diesen Spalten angezeigt wird. | ||
- | Bei restriktiverer Einstellung des Datenbanksystems müsste die Auswahl von Spalten, nach denen nicht gruppiert wird, eine Fehlermeldung liefern. | ||
- | |||
- | Man kann auch gleichzeitig nach mehreren Merkmalen gruppieren, indem man einen Ausdruck der Form | ||
- | |||
- | <code sql> | ||
- | SELECT * FROM verkaeufe GROUP BY jahr, land, produkt; | ||
- | </ | ||
- | |||
- | verwendet. Hier werden die Verkäufe nach Jahr, Land und Produkt gruppiert (vgl. Aufgabe (3)). | ||
- | |||
- | |||
- | ===== Aufgaben ===== | ||
- | |||
- | Löse die folgenden Aufgaben im SQL-Abfragefenster von phpMyAdmin auf der Datenbank webshop und speichere deine Lösungen in einer Textdatei oder deinem Info-Heft. | ||
- | |||
- | ---- | ||
- | {{: | ||
- | === (A1) === | ||
- | |||
- | Neben der Summenfunktion gibt es weitere Berechnungsfunktionen für zahlenwertige Spalten. Vervollständige die folgende Tabelle unter Verwendung folgender SQL-Abfrage: | ||
- | <code sql> | ||
- | SELECT *, | ||
- | FROM artikel | ||
- | GROUP BY APreis | ||
- | ORDER BY APreis | ||
- | </ | ||
- | Dabei ist '' | ||
- | |||
- | |||
- | ^Funktion ^ Bedeutung ^ Wert in Gruppe '' | ||
- | | AVG | ||
- | | COUNT | ||
- | | MAX | ||
- | | MIN | ||
- | | SUM | ||
- | |||
- | |||
- | ---- | ||
- | {{: | ||
- | === (A2) === | ||
- | |||
- | (i) Gib den jeweiligen Gesamtbestand der Artikel in den verschiedenen Preiskategorien unter 10,00EUR an. | ||
- | |||
- | (ii) Gib Gruppen mit gleichem Bestand und Preis zurück. | ||
- | |||
- | (iii) Notiere ohne phpMyAdmin zu verwenden, was die folgende SQL-Abfrage ausgibt: | ||
- | <code sql> | ||
- | SELECT ABestand, | ||
- | FROM artikel | ||
- | GROUP BY ABestand | ||
- | ORDER BY ABestand | ||
- | </ | ||
- | | ||
- | (iv) Informiere dich über die '' | ||
- | |||
- | (v) Gib alle Preiskategorien aus, in denen der maximal erzielbare Umsatz über 3.000,00 Euro liegt. Ist die Aufgabe auch mittels '' | ||
- | |||
- | |||
- | ([[.lsg: |