SQL / Lernwerkstatt
Nachhilfe in Informatik finden
INFORMATIK · DATENBANKEN · IT-BERUFE · SQL

SQL üben: SELECT, WHERE und JOIN

Die Chefin vom Pizzadienst fragt: Wer wohnt in Köln? Wer aus Köln hat für mehr als 20 € bestellt? Und wer hat noch nie bestellt? Hier schreibst du die SQL-Abfragen selbst. Die Seite führt sie auf einer kleinen Datenbank aus, zeigt dir das Ergebnis und sagt dir sofort, ob es stimmt. In Teil 2 der IHK-Abschlussprüfung der IT-Berufe kommen SQL-Abfragen dran. Du lernst die typischen Fallen kennen: Text ohne Anführungszeichen, = NULL statt IS NULL, ein JOIN ohne Bedingung (Kreuzprodukt), AND und OR ohne Klammern, INNER JOIN statt LEFT JOIN. Merkst du, dass dein Ergebnis zu einem dieser Fehler passt, sagt dir die Seite, welcher es ist.

Übungsdatenbank mit erfundenen Daten. Fünf Kunden, sechs Bestellungen, zwei Tabellen. Die Seite versteht SELECT, FROM, JOIN … ON, WHERE und ORDER BY und verhält sich wie PostgreSQL oder SQL Server: Ein JOIN ohne ON ist ein Fehler, und eine Zahl lässt sich nicht mit Text vergleichen. Ohne ORDER BY ist die Reihenfolge der Zeilen nicht festgelegt.

Titelbild des Lernvideos: SQL einfach erklärt, SELECT, WHERE und JOIN am Beispiel eines Pizzadienstes

Zuerst das Lernvideo

SQL einfach erklärt: Was SELECT, WHERE und JOIN tun, warum ein JOIN ohne Bedingung dreißig Zeilen liefert, warum AND vor OR kommt und wie du mit LEFT JOIN und IS NULL die Kunden findest, die noch nie bestellt haben.

Video ansehen

Das Beispiel aus dem Video

Das sind die beiden Tabellen des Pizzadienstes. KundeNr ist in der Tabelle Kunde der Primärschlüssel: jede Nummer nur einmal, nie leer. In der Tabelle Bestellung ist KundeNr der Fremdschlüssel: Sie zeigt auf den Kunden, der bestellt hat. Alle Namen sind erfunden.

    1. Abfragen schreiben: Zufallsaufgaben mit Sofort-Korrektur

    Schreibe die Abfrage in das Feld und klicke auf „Prüfen“. Die Seite führt sie aus, zeigt dir das Ergebnis und vergleicht es mit dem erwarteten Ergebnis. Es zählt das Ergebnis, nicht der genaue Wortlaut: Mehrere Abfragen können richtig sein. Passt dein Ergebnis zu einem typischen Fehler, sagt dir die Seite, zu welchem. Groß- und Kleinschreibung der Schlüsselwörter ist egal. Texte stehen in einfachen Anführungszeichen. Die Aufgaben wechseln Namen, Orte, Beträge und den Kunden, der nie bestellt hat.

    Diese Aufgabe teilen: Die Adresse dieser Seite endet auf .

    2. Spielwiese: eigene Abfragen auf den Videodaten

    Probiere frei aus, was passiert. Die Abfrage läuft auf den beiden Tabellen oben (Pizzadienst aus dem Video). Du siehst das Ergebnis und darunter, wie die Datenbank gearbeitet hat: erst FROM mit JOIN, dann WHERE, dann SELECT. Mit den Knöpfen laden die Abfragen aus dem Video, auch die mit den Fallen.

    So arbeitet die Datenbank

      3. Wissens-Check

      Acht kurze Fragen. Ein Klick auf eine Antwort zeigt sofort, ob sie stimmt.

      Mit Stift und Papier üben

      Vier A4-Seiten: Merkzettel mit den sechs Regeln und den Tabellen des Videos, Abfragen schreiben, Ergebnis vorhersagen, Fehler finden, Richtig oder falsch und alle Lösungen am Ende.

      Verwendet feste Beispieldaten, unabhängig von deinen Eingaben oben.

      Übungsblatt als PDF öffnen

      Zum Ausdrucken. Für eine Übung ohne Lösungen die letzte Seite weglassen.

      Ideal als Vorlage für Nachhilfeunterricht oder zum Selbstlernen

      Dein Merkzettel

      1. SELECT wählt die Spalten, FROM nennt die Tabelle, WHERE filtert die Zeilen. Nenne nur die gefragten Spalten: SELECT * holt alle.
      2. Text steht in einfachen Anführungszeichen ('Köln'), Zahlen nicht. Ohne Anführungszeichen hält die Datenbank Köln für den Namen einer Spalte und meldet einen Fehler.
      3. Beim JOIN legt ON fest, was zusammengehört: Primärschlüssel gleich Fremdschlüssel, zum Beispiel ON k.KundeNr = b.KundeNr. Steht ein Spaltenname in beiden Tabellen, schreibst du k. oder b. davor. Der INNER JOIN zeigt nur passende Paare, der LEFT JOIN behält alle Zeilen der linken Tabelle und füllt fehlende Partner mit NULL.
      4. Komma oder CROSS JOIN ohne Bedingung liefern jede Kombination (Kreuzprodukt): 5 Kunden mal 6 Bestellungen sind 30 Zeilen. PostgreSQL und SQL Server lehnen ein JOIN ohne ON als Syntaxfehler ab.
      5. AND bindet stärker als OR, ähnlich wie Punkt vor Strich. Setze Klammern: (A OR B) AND C.
      6. Fehlende Werte prüfst du mit IS NULL oder IS NOT NULL, nie mit = NULL. NULL heißt fehlend oder unbekannt, nicht null Euro. Ein Vergleich mit NULL ergibt „unbekannt“, und WHERE lässt nur Zeilen durch, bei denen die Bedingung wahr ist.

      Reihenfolge der Verarbeitung: erst FROM mit JOIN, dann WHERE, dann SELECT, zuletzt ORDER BY. Ohne ORDER BY ist die Reihenfolge der Ergebniszeilen nicht festgelegt.

      Wer hat nie bestellt? LEFT JOIN … WHERE b.BestellNr IS NULL: Der LEFT JOIN holt alle Kunden zurück, die Bestellnummer ist nur bei fehlender Bestellung NULL.

      Persönliche Unterstützung finden

      Nachhilfe für Informatik suchen Nachhilfe für Datenbanken suchen Nachhilfe für SQL suchen
      Ideal als Vorlage für Nachhilfeunterricht oder zum Selbstlernen