SQL Arbeitsblatt - Schulverwaltung

lock
Bevorstehend

Ueben Sie SQL-Abfragen anhand einer Schulverwaltungs-Datenbank mit Schuelern, Kursen und Noten.

Ziele dieses Moduls
  • Sie koennen einfache SELECT-Abfragen mit WHERE-Bedingungen formulieren
    Anwenden
  • Sie koennen Aggregatfunktionen (COUNT, AVG, MAX, MIN) in SQL anwenden
    Anwenden
  • Sie koennen Daten mit INSERT, UPDATE und DELETE manipulieren
    Anwenden
  • Sie koennen Tabellen mit JOIN verbinden und kombinierte Abfragen erstellen
    Anwenden

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

idvornamenachnameklasseeintrittsjahr
1AnnaMueller10a2020
2MaxSchmidt10b2021
3LisaWeber10a2020
4TimBraun11a2019
5SophieKlein10b2021
6JonasFischer11b2019
7EmmaWagner10a2020
8FelixHoffmann11a2019

Tabelle: kurse

kurs_idkurs_namelehrerraum
101MathematikHerr BauerA101
102EnglischFrau WolfB203
103PhysikHerr KochC102
104GeschichteFrau KleinA205
105InformatikHerr GrossD001

Tabelle: noten

note_idschueler_idkurs_idnotedatum
1110122024-03-15
2110212024-03-10
3210132024-03-15
4310122024-03-15
5410312024-03-20
6510222024-03-10
7610342024-03-20
8710112024-03-15
9210222024-03-10
10810322024-03-20
11410132024-03-15
12110322024-03-20

Teil 1: SELECT mit WHERE

Filtern Sie Daten mit der WHERE-Klausel. Testen Sie Ihre Abfragen im SQL Playground.

Aufgabe 1.1: Zeigen Sie alle Schueler der Klasse 10a.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 1.2: Zeigen Sie alle Kurse, die in einem Raum mit dem Buchstaben A stattfinden (A101, A205, etc.).

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 1.3: Zeigen Sie alle Noten, die schlechter als 2 sind.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 1.4: Zeigen Sie alle Schueler, die vor 2021 eingetreten sind.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 1.5: Zeigen Sie alle Noten, die am 15.03.2024 geschrieben wurden.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Teil 2: Aggregatfunktionen

Verwenden Sie COUNT, AVG, MAX und MIN, um Daten zusammenzufassen.

Aufgabe 2.1 (COUNT): Zaehlen Sie, wie viele Schueler in der Datenbank sind.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 2.2 (COUNT mit WHERE): Zaehlen Sie, wie viele Schueler in Klasse 10a sind.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 2.3 (AVG): Berechnen Sie die Durchschnittsnote aller Noten.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 2.4 (AVG mit WHERE): Berechnen Sie die Durchschnittsnote im Kurs 101 (Mathematik).

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 2.5 (MAX): Zeigen Sie die schlechteste (hoechste) Note aller Noten.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 2.6 (MIN mit WHERE): Zeigen Sie die beste Note in Kurs 102 (Englisch).

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Teil 3: DISTINCT

Mit DISTINCT entfernen Sie doppelte Eintraege aus dem Ergebnis.

Aufgabe 3.1: Zeigen Sie alle vorkommenden Klassen (ohne Duplikate).

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 3.2: Zeigen Sie alle verschiedenen Lehrer.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 3.3: Zeigen Sie alle verschiedenen Eintrittsjahre.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Teil 4: ORDER BY

Sortieren Sie Ergebnisse mit ORDER BY (ASC = aufsteigend, DESC = absteigend).

Aufgabe 4.1: Zeigen Sie alle Schueler alphabetisch nach Nachname sortiert.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 4.2: Zeigen Sie alle Noten absteigend sortiert (schlechteste zuerst).

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 4.3: Zeigen Sie alle Schueler sortiert nach Klasse, dann nach Nachname.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 4.4: Zeigen Sie alle Kurse sortiert nach Raum.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Teil 5: Kombinierte Abfragen

Kombinieren Sie WHERE, ORDER BY, Aggregatfunktionen und DISTINCT.

Aufgabe 5.1: Zeigen Sie alle Noten von Schueler mit ID 1, sortiert nach Datum.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 5.2: Zeigen Sie die Anzahl der Noten pro Datum.

Hinweis: Verwenden Sie GROUP BY.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 5.3: Zeigen Sie alle verschiedenen Kurs-IDs, in denen mindestens eine Note schlechter als 3 ist.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

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.

Aufgabe 6.1: Fuegen Sie einen neuen Schueler hinzu: Vorname: Lukas, Nachname: Berger, Klasse: 10a, Eintrittsjahr: 2022

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 6.2: Fuegen Sie einen neuen Kurs hinzu: Kurs-ID: 106, Name: Biologie, Lehrer: Frau Gruen, Raum: C201

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 6.3: Fuegen Sie eine neue Note hinzu: Schueler-ID: 3, Kurs-ID: 102, Note: 2, Datum: 2024-04-01

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Warning

Teil 7: UPDATE

Aendern Sie bestehende Datensaetze. Testen Sie im SQL Playground und ueberpruefen Sie das Ergebnis mit SELECT.

Aufgabe 7.1: Aendern Sie den Raum des Kurses 105 (Informatik) von D001 nach D002.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 7.2: Aendern Sie die Klasse von Schuelerin Emma Wagner (ID 7) von 10a nach 11a.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 7.3: Aendern Sie alle Noten von Schueler 2 im Kurs 102 auf die Note 1.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 7.4: Aendern Sie den Lehrer aller Kurse, die in einem Raum mit A beginnen, zu 'Frau Dr. Mueller'.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

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.

Aufgabe 8.1: Loeschen Sie alle Noten, die schlechter als 4 sind.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 8.2: Loeschen Sie den Kurs mit ID 104 (Geschichte).

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 8.3: Loeschen Sie alle Noten, die vor dem 01.01.2024 geschrieben wurden.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Aufgabe 8.4: Loeschen Sie alle Schueler der Klasse 11b.

Antwort wird geladen...

Mindestens 10 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Teil 9: JOIN - Tabellen verbinden

Mit JOIN verbinden Sie mehrere Tabellen ueber gemeinsame Schluessel.

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.

Antwort wird geladen...

Mindestens 15 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

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.

Antwort wird geladen...

Mindestens 15 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Challenge

Bonusaufgaben

Diese Aufgaben kombinieren mehrere Konzepte und sind anspruchsvoller.

Bonus 1: Zeigen Sie alle Schueler, die eine 1 in irgendeinem Kurs haben, mit dem entsprechenden Kursnamen. Sortieren Sie nach Schuelername.

Antwort wird geladen...

Mindestens 15 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Bonus 2: Zeigen Sie die Durchschnittsnote pro Kurs (mit Kursnamen).

Antwort wird geladen...

Mindestens 15 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.

Bonus 3: Zeigen Sie alle Schueler der Klasse 10a mit ihren Durchschnittsnoten, sortiert nach Durchschnittsnote (beste zuerst).

Antwort wird geladen...

Mindestens 15 Zeichen, Maximal 500 Zeichen (Aktuell: 0)

Lokal gespeichert — Login, um Antworten dauerhaft zu sichern.