Zum Inhalt springen
Informatik · Klasse 11 · Datenbanken und Informationssysteme · 1. Halbjahr

Abfragen mit SQL: JOINs und Aggregatfunktionen

Die Schülerinnen und Schüler verknüpfen Tabellen und führen Berechnungen über Datensätze durch.

KMK BildungsstandardsKMK: Sekundarstufe II - ImplementierenKMK: Sekundarstufe II - Darstellen und Interpretieren

Über dieses Thema

In diesem Thema lernen Schülerinnen und Schüler, Tabellen mit SQL-JOINs zu verknüpfen und Aggregatfunktionen wie COUNT, SUM oder AVG anzuwenden. Sie analysieren INNER JOIN, LEFT JOIN und RIGHT JOIN und verstehen, wie diese die Ergebnismenge beeinflussen. GROUP BY Klauseln werden mit HAVING kombiniert, um komplexe Abfragen zu erstellen. Die Schüler bearbeiten reale Datensätze, etwa aus einem Buchhandelsystem, und interpretieren die Ergebnisse.

Die Key Questions fordern zur Analyse der JOIN-Typen, zur Erklärung von Aggregatfunktionen und zur Begründung von GROUP BY auf. Dies entspricht den KMK-Standards zum Implementieren und Darstellen sowie Interpretieren. Praktische Übungen mit Datenbanksystemen wie SQLite stärken das Verständnis.

Aktives Lernen ist hier besonders vorteilhaft, da Schüler durch hands-on-Abfragen Fehler entdecken und korrigieren lernen. Es fördert Problemlösungsfähigkeiten und macht abstrakte Konzepte greifbar, was die Transferleistung in reale Anwendungen steigert.

Leitfragen

  1. Analysieren Sie die verschiedenen JOIN-Typen und ihre Auswirkungen auf die Ergebnisdatenmenge.
  2. Erklären Sie, wie Aggregatfunktionen komplexe Daten in aussagekräftige Statistiken umwandeln.
  3. Begründen Sie die Notwendigkeit von GROUP BY Klauseln in Verbindung mit Aggregatfunktionen.

Lernziele

  • Analysieren Sie die Ergebnisse von INNER JOIN, LEFT JOIN und RIGHT JOIN für verschiedene Szenarien und identifizieren Sie die Unterschiede in der resultierenden Datensatzmenge.
  • Berechnen Sie Kennzahlen wie Durchschnitt, Summe und Anzahl mithilfe von SQL-Aggregatfunktionen für gegebene Datensätze.
  • Begründen Sie die Notwendigkeit der GROUP BY Klausel bei der Anwendung von Aggregatfunktionen, um Ergebnisse pro Gruppe zu erhalten.
  • Entwerfen Sie SQL-Abfragen, die sowohl JOINs als auch Aggregatfunktionen kombinieren, um spezifische Fragen an eine Datenbank zu beantworten.

Bevor es losgeht

Grundlagen von relationalen Datenbanken

Warum: Schüler müssen die Konzepte von Tabellen, Spalten, Zeilen und Primär-/Fremdschlüsselbeziehungen verstehen, um Tabellen sinnvoll verknüpfen zu können.

Grundlegende SQL-Abfragen (SELECT, FROM, WHERE)

Warum: Die Fähigkeit, einfache Daten aus einer einzelnen Tabelle abzurufen, ist die Basis für komplexere Abfragen mit JOINs und Aggregatfunktionen.

Schlüsselvokabular

INNER JOINVerknüpft zwei Tabellen basierend auf übereinstimmenden Werten in einer gemeinsamen Spalte. Nur Zeilen, die in beiden Tabellen übereinstimmen, werden im Ergebnis angezeigt.
LEFT JOINGibt alle Zeilen der linken Tabelle zurück und die übereinstimmenden Zeilen der rechten Tabelle. Wenn keine Übereinstimmung gefunden wird, werden NULL-Werte für die Spalten der rechten Tabelle angezeigt.
AggregatfunktionEine Funktion, die einen Wert aus einer Menge von Werten berechnet, z. B. COUNT (Anzahl), SUM (Summe), AVG (Durchschnitt), MIN (Minimum), MAX (Maximum).
GROUP BYGruppiert Zeilen mit denselben Werten in einer oder mehreren Spalten, sodass Aggregatfunktionen auf jede Gruppe angewendet werden können.
HAVINGWird verwendet, um Gruppen zu filtern, die von der GROUP BY Klausel erstellt wurden, basierend auf den Ergebnissen von Aggregatfunktionen.

Vorsicht vor diesen Fehlvorstellungen

Häufige FehlvorstellungEin LEFT JOIN liefert immer alle Zeilen der linken Tabelle, unabhängig vom RIGHT JOIN.

Was Sie stattdessen lehren sollten

LEFT JOIN gibt alle Zeilen der linken Tabelle zurück, kombiniert mit passenden aus der rechten; fehlende Matches erhalten NULL-Werte.

Häufige FehlvorstellungAggregatfunktionen können ohne GROUP BY auf mehrere Spalten angewendet werden.

Was Sie stattdessen lehren sollten

Bei mehreren Spalten ohne GROUP BY muss eine Aggregatfunktion alle Spalten gruppieren oder es wird ein Fehler erzeugt.

Häufige FehlvorstellungJOIN und UNION sind austauschbar.

Was Sie stattdessen lehren sollten

JOIN verknüpft Spalten aus Tabellen horizontal, UNION stapelt Ergebnismengen vertikal.

Ideen für aktives Lernen

Alle Aktivitäten ansehen

Bezüge zur Lebenswelt

  • Datenbankadministratoren in Online-Shops verwenden JOINs und Aggregatfunktionen, um beispielsweise die Anzahl der Bestellungen pro Kunde zu ermitteln oder den durchschnittlichen Warenkorbwert für verschiedene Produktkategorien zu berechnen.
  • Bibliothekssysteme nutzen diese SQL-Abfragen, um Statistiken wie die Anzahl der Ausleihen pro Buch oder die Gesamtzahl der Bücher eines bestimmten Genres zu generieren, was für die Bestandsverwaltung entscheidend ist.
  • Soziale Netzwerke analysieren Nutzerdaten mit ähnlichen Techniken, um die durchschnittliche Anzahl von Likes pro Beitrag oder die Gesamtzahl der aktiven Nutzer pro Region zu ermitteln.

Ideen zur Lernstandserhebung

Lernstandskontrolle

Geben Sie jeder Schülerin und jedem Schüler eine Karte mit einer einfachen Datenbankstruktur (z. B. Kunden und Bestellungen). Bitten Sie sie, eine SQL-Abfrage zu schreiben, die den INNER JOIN verwendet, um alle Kunden mit ihren Bestellungen anzuzeigen, und eine weitere Abfrage, die COUNT() mit GROUP BY verwendet, um die Anzahl der Bestellungen pro Kunde zu ermitteln.

Kurze Überprüfung

Stellen Sie eine Tabelle mit Beispiel-Datensätzen (z. B. Produkte und Verkäufe) bereit. Fragen Sie: 'Wie würden Sie mit einer LEFT JOIN Abfrage alle Produkte anzeigen, auch wenn sie noch nicht verkauft wurden?' und 'Wie würden Sie mit einer Aggregatfunktion und GROUP BY den Gesamtumsatz pro Produktkategorie berechnen?'

Diskussionsfrage

Diskutieren Sie folgende Frage im Plenum: 'Ein Unternehmen möchte wissen, welche Produktkategorien den höchsten durchschnittlichen Verkaufspreis haben. Welche SQL-Konstrukte (JOINs, Aggregatfunktionen, GROUP BY, HAVING) sind dafür notwendig und warum?'

Häufig gestellte Fragen

Was sind die wichtigsten JOIN-Typen?
Die zentralen JOIN-Typen sind INNER JOIN für übereinstimmende Zeilen beider Tabellen, LEFT JOIN für alle Zeilen der linken Tabelle mit passenden aus der rechten, RIGHT JOIN umgekehrt und FULL OUTER JOIN für alle Zeilen beider Tabellen. Schüler üben diese, um die Auswirkungen auf die Ergebnismenge zu verstehen. Dies hilft bei der Analyse realer Datenbanken.
Warum braucht man GROUP BY bei Aggregatfunktionen?
GROUP BY gruppiert Zeilen nach einer oder mehreren Spalten, damit Aggregatfunktionen wie SUM oder COUNT pro Gruppe berechnet werden. Ohne GROUP BY würde die gesamte Tabelle als eine Gruppe behandelt. HAVING filtert Gruppen, ähnlich wie WHERE für Zeilen.
Wie testet man SQL-Abfragen effizient?
Verwenden Sie kleine Testdatensätze zuerst, um JOINs und Aggregate zu prüfen. Tools wie DB-Fiddle erlauben schnelles Experimentieren. Visualisieren Sie Ergebnisse mit Tabellen oder Diagrammen, um Korrektheit zu überprüfen.
Warum ist aktives Lernen bei SQL-JOINs und Aggregatfunktionen vorteilhaft?
Aktives Lernen lässt Schüler Abfragen selbst schreiben und ausführen, wodurch sie Fehler sofort sehen und korrigieren. Paar- oder Gruppenarbeit fördert Diskussionen über JOIN-Effekte. Dies vertieft das Verständnis abstrakter Konzepte und verbessert die Problemlösung, passend zu KMK-Standards.

Planungsvorlagen für Informatik