Noch keine Note
Paul hat sich für den Fußballkurs angemeldet. Die Note gibt es erst am Ende des Halbjahres.
Was steht bis dahin im Feld? Keine 0, denn 0 ist keine Note. Und kein Text wie „offen“, denn die Spalte enthält Zahlen.
Die Datenbank hat dafür ein eigenes Zeichen für nichts.
Am Ende dieser Lektion
Notiz
Ich kann mit IS NULL Zeilen finden, in denen ein Wert fehlt.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| NULL | Das Zeichen für: Hier ist kein Wert. | |
| IS NULL | Prüft, ob ein Wert fehlt. | WHERE note IS NULL |
| IS NOT NULL | Prüft, ob ein Wert da ist. | |
| Leeres Feld | Ein Feld einer Zeile, in dem nichts steht. |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Starter: Was du schon weißt
Probier es aus
Starter: Was du schon weißt
4 FragenDeine Antworten werden hier bewertet und nicht gespeichert. Mit einem Konto bleiben deine Ergebnisse erhalten.
NULL heißt: Es gibt keinen Wert
NULL ist nicht die Zahl 0 und kein leerer Text. NULL heißt: Hier fehlt eine Angabe.
Das kommt oft vor. Eine Note ist noch offen. Eine Handynummer fehlt im Formular. Ein Geburtstag ist unbekannt.
In der Ergebnistabelle steht dann NULL.
Probiere es aus: NULL ansehen
-- Eine Anmeldung in diesem Kurs hat noch keine Note.
-- In der Ergebnistabelle erscheint dafür NULL.
SELECT schueler_id, kurs_id, note
FROM anmeldungen
WHERE kurs_id = 3;
IS NULL findet fehlende Werte
Du willst alle Anmeldungen ohne Note. Dafür schreibst du WHERE note IS NULL.
Das Gegenteil ist IS NOT NULL: Zeilen, in denen eine Note steht.
Ein einfaches Gleichheitszeichen funktioniert hier nicht.
Ein häufiger Fehler
Warnung
Viele denken: „WHERE note = NULL findet die leeren Noten.“ Das stimmt nicht. NULL ist unbekannt, und ein unbekannter Wert ist nie gleich einem anderen. Das Ergebnis ist leer. Frage immer mit IS NULL.
Probiere es aus: IS NULL
-- So findest du die Zeilen ohne Note.
SELECT schueler_id, kurs_id
FROM anmeldungen
WHERE note IS NULL;
-- Und so die Zeilen mit einer Note.
SELECT schueler_id, kurs_id, note
FROM anmeldungen
WHERE note IS NOT NULL;
-- Ändere IS NULL in = NULL. Was passiert?