SQL Arbeitsblatt - Schulverwaltung
Ueben Sie SQL-Abfragen anhand einer Schulverwaltungs-Datenbank mit Schuelern, Kursen und Noten.
- Sie koennen einfache SELECT-Abfragen mit WHERE-Bedingungen formulierenAnwenden
- Sie koennen Aggregatfunktionen (COUNT, AVG, MAX, MIN) in SQL anwendenAnwenden
- Sie koennen Daten mit INSERT, UPDATE und DELETE manipulierenAnwenden
- Sie koennen Tabellen mit JOIN verbinden und kombinierte Abfragen erstellenAnwenden
In diesem Modul ueben Sie SQL-Abfragen anhand einer Schulverwaltungs-Datenbank. Die Datenbank besteht aus drei Tabellen: schueler, kurse und noten.
Sie koennen Ihre Abfragen direkt im SQL Playground testen. Die Datenbank ist dort bereits vorgeladen.
Schreiben Sie Ihre SQL-Loesungen in die Code-Felder und ueberpruefen Sie diese im Playground.
Datenbank-Uebersicht
Sie arbeiten mit einer Schulverwaltungs-Datenbank mit folgenden drei Tabellen. Oeffnen Sie den SQL Playground, um Ihre Abfragen live zu testen.
Tabelle: schueler
| id | vorname | nachname | klasse | eintrittsjahr |
|---|---|---|---|---|
| 1 | Anna | Mueller | 10a | 2020 |
| 2 | Max | Schmidt | 10b | 2021 |
| 3 | Lisa | Weber | 10a | 2020 |
| 4 | Tim | Braun | 11a | 2019 |
| 5 | Sophie | Klein | 10b | 2021 |
| 6 | Jonas | Fischer | 11b | 2019 |
| 7 | Emma | Wagner | 10a | 2020 |
| 8 | Felix | Hoffmann | 11a | 2019 |
Tabelle: kurse
| kurs_id | kurs_name | lehrer | raum |
|---|---|---|---|
| 101 | Mathematik | Herr Bauer | A101 |
| 102 | Englisch | Frau Wolf | B203 |
| 103 | Physik | Herr Koch | C102 |
| 104 | Geschichte | Frau Klein | A205 |
| 105 | Informatik | Herr Gross | D001 |
Tabelle: noten
| note_id | schueler_id | kurs_id | note | datum |
|---|---|---|---|---|
| 1 | 1 | 101 | 2 | 2024-03-15 |
| 2 | 1 | 102 | 1 | 2024-03-10 |
| 3 | 2 | 101 | 3 | 2024-03-15 |
| 4 | 3 | 101 | 2 | 2024-03-15 |
| 5 | 4 | 103 | 1 | 2024-03-20 |
| 6 | 5 | 102 | 2 | 2024-03-10 |
| 7 | 6 | 103 | 4 | 2024-03-20 |
| 8 | 7 | 101 | 1 | 2024-03-15 |
| 9 | 2 | 102 | 2 | 2024-03-10 |
| 10 | 8 | 103 | 2 | 2024-03-20 |
| 11 | 4 | 101 | 3 | 2024-03-15 |
| 12 | 1 | 103 | 2 | 2024-03-20 |
Teil 1: SELECT mit WHERE
Filtern Sie Daten mit der WHERE-Klausel. Testen Sie Ihre Abfragen im SQL Playground.
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 1.1: Zeigen Sie alle Schueler der Klasse 10a.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 1.2: Zeigen Sie alle Kurse, die in einem Raum mit dem Buchstaben A stattfinden (A101, A205, etc.).
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 1.3: Zeigen Sie alle Noten, die schlechter als 2 sind.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 1.4: Zeigen Sie alle Schueler, die vor 2021 eingetreten sind.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 1.5: Zeigen Sie alle Noten, die am 15.03.2024 geschrieben wurden.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Teil 2: Aggregatfunktionen
Verwenden Sie COUNT, AVG, MAX und MIN, um Daten zusammenzufassen.
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 2.1 (COUNT): Zaehlen Sie, wie viele Schueler in der Datenbank sind.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 2.2 (COUNT mit WHERE): Zaehlen Sie, wie viele Schueler in Klasse 10a sind.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 2.3 (AVG): Berechnen Sie die Durchschnittsnote aller Noten.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 2.4 (AVG mit WHERE): Berechnen Sie die Durchschnittsnote im Kurs 101 (Mathematik).
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 2.5 (MAX): Zeigen Sie die schlechteste (hoechste) Note aller Noten.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 2.6 (MIN mit WHERE): Zeigen Sie die beste Note in Kurs 102 (Englisch).
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Teil 3: DISTINCT
Mit DISTINCT entfernen Sie doppelte Eintraege aus dem Ergebnis.
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 3.1: Zeigen Sie alle vorkommenden Klassen (ohne Duplikate).
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 3.2: Zeigen Sie alle verschiedenen Lehrer.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 3.3: Zeigen Sie alle verschiedenen Eintrittsjahre.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Teil 4: ORDER BY
Sortieren Sie Ergebnisse mit ORDER BY (ASC = aufsteigend, DESC = absteigend).
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 4.1: Zeigen Sie alle Schueler alphabetisch nach Nachname sortiert.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 4.2: Zeigen Sie alle Noten absteigend sortiert (schlechteste zuerst).
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 4.3: Zeigen Sie alle Schueler sortiert nach Klasse, dann nach Nachname.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 4.4: Zeigen Sie alle Kurse sortiert nach Raum.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Teil 5: Kombinierte Abfragen
Kombinieren Sie WHERE, ORDER BY, Aggregatfunktionen und DISTINCT.
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 5.1: Zeigen Sie alle Noten von Schueler mit ID 1, sortiert nach Datum.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 5.2: Zeigen Sie die Anzahl der Noten pro Datum.
Hinweis: Verwenden Sie GROUP BY.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 5.3: Zeigen Sie alle verschiedenen Kurs-IDs, in denen mindestens eine Note schlechter als 3 ist.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Teil 6: INSERT
Fuegen Sie neue Datensaetze in Tabellen ein. Testen Sie Ihre INSERT-Statements im SQL Playground und pruefen Sie danach mit einem SELECT, ob die Daten korrekt eingefuegt wurden.
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 6.1: Fuegen Sie einen neuen Schueler hinzu: Vorname: Lukas, Nachname: Berger, Klasse: 10a, Eintrittsjahr: 2022
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 6.2: Fuegen Sie einen neuen Kurs hinzu: Kurs-ID: 106, Name: Biologie, Lehrer: Frau Gruen, Raum: C201
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 6.3: Fuegen Sie eine neue Note hinzu: Schueler-ID: 3, Kurs-ID: 102, Note: 2, Datum: 2024-04-01
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Warning
Teil 7: UPDATE
Aendern Sie bestehende Datensaetze. Testen Sie im SQL Playground und ueberpruefen Sie das Ergebnis mit SELECT.
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 7.1: Aendern Sie den Raum des Kurses 105 (Informatik) von D001 nach D002.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 7.2: Aendern Sie die Klasse von Schuelerin Emma Wagner (ID 7) von 10a nach 11a.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 7.3: Aendern Sie alle Noten von Schueler 2 im Kurs 102 auf die Note 1.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 7.4: Aendern Sie den Lehrer aller Kurse, die in einem Raum mit A beginnen, zu 'Frau Dr. Mueller'.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Warning
Teil 8: DELETE
Loeschen Sie Datensaetze aus Tabellen. Achtung: DELETE ist unwiderruflich! Testen Sie im SQL Playground - dort koennen Sie die Datenbank jederzeit zuruecksetzen.
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 8.1: Loeschen Sie alle Noten, die schlechter als 4 sind.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 8.2: Loeschen Sie den Kurs mit ID 104 (Geschichte).
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 8.3: Loeschen Sie alle Noten, die vor dem 01.01.2024 geschrieben wurden.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 8.4: Loeschen Sie alle Schueler der Klasse 11b.
sqlMindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Teil 9: JOIN - Tabellen verbinden
Mit JOIN verbinden Sie mehrere Tabellen ueber gemeinsame Schluessel.
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 9.1: Zeigen Sie alle Noten mit den Namen der Schueler.
Gewuenschte Ausgabe: vorname, nachname, note, kurs_id
Hinweis: Verbinden Sie die Tabellen noten und schueler ueber die schueler_id.
sqlMindestens 15 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Aufgabe 9.2: Zeigen Sie alle Noten mit Kursnamen und Schuelernamen.
Gewuenschte Ausgabe: vorname, nachname, kurs_name, note
Hinweis: Verbinden Sie alle drei Tabellen: noten, schueler und kurse.
sqlMindestens 15 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Challenge
Bonusaufgaben
Diese Aufgaben kombinieren mehrere Konzepte und sind anspruchsvoller.
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Bonus 1: Zeigen Sie alle Schueler, die eine 1 in irgendeinem Kurs haben, mit dem entsprechenden Kursnamen. Sortieren Sie nach Schuelername.
sqlMindestens 15 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Bonus 2: Zeigen Sie die Durchschnittsnote pro Kurs (mit Kursnamen).
sqlMindestens 15 Zeichen, Maximal 500 Zeichen (Aktuell: 0)
Login erforderlich
Melde dich an, um diese Frage zu bearbeiten.
Bonus 3: Zeigen Sie alle Schueler der Klasse 10a mit ihren Durchschnittsnoten, sortiert nach Durchschnittsnote (beste zuerst).
sqlMindestens 15 Zeichen, Maximal 500 Zeichen (Aktuell: 0)