Skip to content

Abfragen mit SQL: JOINs und AggregatfunktionenAktivitäten & Unterrichtsstrategien

Aktives Lernen funktioniert hier besonders gut, weil Schülerinnen und Schüler durch das Schreiben und Testen von JOINs und Aggregatfunktionen direkt erleben, wie Datenbanken Zusammenhänge abbilden. Diese konkreten Anwendungen machen abstrakte Konzepte greifbar und zeigen sofort, ob die Abfrage das gewünschte Ergebnis liefert.

Klasse 11Informatik in der Oberstufe: Algorithmen, Daten und Gesellschaft4 Aktivitäten20 Min.35 Min.

Lernziele

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

Möchten Sie einen vollständigen Unterrichtsentwurf mit diesen Lernzielen? Mission erstellen

25 Min.·Partnerarbeit

Paararbeit: JOIN-Abfragen üben

Paare erstellen SQL-Abfragen, die Tabellen verknüpfen. Sie testen verschiedene JOIN-Typen an Beispieldaten. Die Ergebnisse werden diskutiert und visualisiert.

Vorbereitung & Details

Analysieren Sie die verschiedenen JOIN-Typen und ihre Auswirkungen auf die Ergebnisdatenmenge.

Moderationstipp: Geben Sie den Paaren klare Muster-Abfragen vor, die sie zunächst analysieren und dann auf neue Tabellenstrukturen übertragen müssen.

Setup: Gruppentische mit Zugang zu Recherchequellen

Materials: Dokumentation des Problemszenarios, KWL-Tabelle (Wissen, Wollen, Lernen) oder Inquiry-Framework, Ressourcenpool / Handapparat, Vorlage für die Ergebnispräsentation

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
35 Min.·Kleingruppen

Kleingruppen: Aggregatfunktionen anwenden

Gruppen berechnen Statistiken mit COUNT und SUM über verknüpfte Tabellen. Sie verwenden GROUP BY und HAVING. Ergebnisse werden in einer Präsentation zusammengefasst.

Vorbereitung & Details

Erklären Sie, wie Aggregatfunktionen komplexe Daten in aussagekräftige Statistiken umwandeln.

Moderationstipp: Verteilen Sie vorab vorbereitete SQL-Code-Schnipsel mit Fehlern, die die Gruppen in der Kleingruppenphase korrigieren sollen.

Setup: Gruppentische mit Zugang zu Recherchequellen

Materials: Dokumentation des Problemszenarios, KWL-Tabelle (Wissen, Wollen, Lernen) oder Inquiry-Framework, Ressourcenpool / Handapparat, Vorlage für die Ergebnispräsentation

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
20 Min.·Einzelarbeit

Individuell: Abfrage-Optimierung

Jeder Schüler optimiert eine gegebene Abfrage mit JOINs und Aggregaten. Erfolgsmetriken werden verglichen.

Vorbereitung & Details

Begründen Sie die Notwendigkeit von GROUP BY Klauseln in Verbindung mit Aggregatfunktionen.

Moderationstipp: Fordern Sie die Lernenden auf, ihre optimierten Abfragen in einem Code-Editor zu testen und die Performance zu vergleichen.

Setup: Gruppentische mit Zugang zu Recherchequellen

Materials: Dokumentation des Problemszenarios, KWL-Tabelle (Wissen, Wollen, Lernen) oder Inquiry-Framework, Ressourcenpool / Handapparat, Vorlage für die Ergebnispräsentation

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit
30 Min.·Ganze Klasse

Ganzer Unterricht: Quiz-Kampf

Klasseninternes Quiz zu JOINs und Aggregaten mit Buzzer-System. Gewinnerteam erklärt Lösungen.

Vorbereitung & Details

Analysieren Sie die verschiedenen JOIN-Typen und ihre Auswirkungen auf die Ergebnisdatenmenge.

Setup: Gruppentische mit Zugang zu Recherchequellen

Materials: Dokumentation des Problemszenarios, KWL-Tabelle (Wissen, Wollen, Lernen) oder Inquiry-Framework, Ressourcenpool / Handapparat, Vorlage für die Ergebnispräsentation

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerungBeziehungsfähigkeit

Dieses Thema unterrichten

Erfahrene Lehrkräfte beginnen mit einfachen Beispielen, die den Unterschied zwischen INNER JOIN und LEFT JOIN direkt sichtbar machen, etwa durch eine Tabelle mit leeren Werten. Sie vermeiden frühe Diskussionen über Performance-Optimierung und konzentrieren sich zunächst auf das korrekte Verständnis der Ergebnismengen. Visualisierungen wie Tabellen mit markierten NULL-Werten helfen, die Logik zu verinnerlichen.

Was Sie erwartet

Erfolgreiches Lernen zeigt sich darin, dass Lernende selbstständig INNER JOIN, LEFT JOIN und RIGHT JOIN unterscheiden und mit GROUP BY, HAVING sowie Aggregatfunktionen sinnvolle Abfragen formulieren können. Sie interpretieren die Ergebnisse korrekt und optimieren ihre Abfragen bei Bedarf.

Diese Aktivitäten sind ein Ausgangspunkt. Die vollständige Mission ist das Erlebnis.

  • Vollständiges Moderationsskript mit Lehrkraft-Dialogen
  • Druckfertige Schülermaterialien, bereit für den Unterricht
  • Differenzierungsstrategien für jeden Lerntyp
Mission erstellen

Vorsicht vor diesen Fehlvorstellungen

Häufige FehlvorstellungWährend der Paararbeit zu JOIN-Abfragen, achten Sie darauf, dass Lernende nicht annehmen, ein LEFT JOIN gebe immer alle Zeilen der linken Tabelle zurück, unabhängig von den Daten. Korrigieren Sie dies, indem Sie gemeinsam eine Abfrage mit einer leeren rechten Tabelle testen.

Was Sie stattdessen lehren sollten

Fordern Sie die Paare auf, eine LEFT JOIN-Abfrage mit einer Tabelle zu schreiben, die keine passenden Einträge in der rechten Tabelle hat. Zeigen Sie gemeinsam, dass fehlende Matches NULL-Werte erhalten und die linke Tabelle vollständig erhalten bleibt.

Häufige FehlvorstellungWährend der Kleingruppenarbeit zu Aggregatfunktionen, achten Sie darauf, dass Lernende nicht mehrere Spalten ohne GROUP BY aggregieren. Korrigieren Sie dies, indem Sie einen Fehler im SQL-Code der Gruppen aufzeigen und gemeinsam eine korrekte Lösung erarbeiten.

Was Sie stattdessen lehren sollten

Bitten Sie die Gruppen, eine Abfrage mit mehreren Spalten ohne GROUP BY zu schreiben und den Fehler zu analysieren. Zeigen Sie, dass entweder alle Spalten aggregiert werden müssen oder GROUP BY verwendet werden sollte.

Häufige FehlvorstellungWährend der individuellen Abfrage-Optimierung, achten Sie darauf, dass Lernende JOIN und UNION nicht verwechseln. Korrigieren Sie dies, indem Sie die Unterschiede anhand der bereitgestellten Tabellenstrukturen erklären.

Was Sie stattdessen lehren sollten

Fordern Sie die Lernenden auf, eine UNION-Abfrage zu schreiben und diese mit einer JOIN-Abfrage zu vergleichen. Zeigen Sie, dass JOIN Spalten kombiniert, während UNION Zeilen stapelt.

Ideen zur Lernstandserhebung

Lernstandskontrolle

Nach der Paararbeit geben Sie jeder Schülerin und jedem Schüler eine Karte mit den Tabellen 'Kunden' und 'Bestellungen'. Sie schreiben eine INNER JOIN-Abfrage, um alle Kunden mit ihren Bestellungen anzuzeigen, und eine COUNT()-Abfrage mit GROUP BY, um die Anzahl der Bestellungen pro Kunde zu ermitteln.

Kurze Überprüfung

Während der Kleingruppenarbeit zu Aggregatfunktionen stellen Sie eine Tabelle mit 'Produkten' 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 beobachten Sie, ob die Gruppen NULL-Werte korrekt einbeziehen.

Diskussionsfrage

Nach dem Quiz-Kampf diskutieren Sie 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?' Bewerten Sie die Antworten auf Vollständigkeit und korrekte Anwendung.

Erweiterungen & Unterstützung

  • Fordern Sie schnelle Lernende auf, eine Abfrage zu schreiben, die sowohl JOINs als auch Aggregatfunktionen mit HAVING kombiniert, um z.B. die meistverkauften Bücher pro Kategorie zu finden.
  • Für Lernende mit Schwierigkeiten bereiten Sie eine Schritt-für-Schritt-Anleitung mit Platzhaltern für die SQL-Klauseln vor.
  • Vertiefen Sie mit einer Diskussion über die Unterschiede zwischen GROUP BY und WHERE, etwa anhand eines Beispiels, bei dem WHERE vor der Gruppierung angewendet wird.

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.

Bereit, Abfragen mit SQL: JOINs und Aggregatfunktionen zu unterrichten?

Erstellen Sie eine vollständige Mission mit allem, was Sie brauchen

Mission erstellen