Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

SQL Grundkurs 1: Die Sprache erlernen

NULL filtern: IS und IS NOT

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Für das Filtern von NULL-Werten wird in SQL ein eigener Operator benötigt, das Gleichheitszeichen kann hier nicht zum Einsatz gebracht werden. Lernen Sie das korrekte Vorgehen in diesem Video kennen.

Transkript

NULL-Werte nehmen in Datenbanken eine besondere Stellung ein. Wie Sie nach diesen Leerwerten filtern können, sehen Sie in diesem Video. Ich möchte, z.B. mit Ihnen aus den Mitarbeitern alle heraus filtern, bei denen in der Spalte "Akademischer Grad" nichts eingetragen ist, also die hier einen NULL-Wert enthalten. Dazu greife ich eben auf unsere Personal- tabelle zu, nehme den Nachnamen, den Vornamen und filtere jetzt nach dem akademischen Grad und schränke hier ein, dass dieser nicht leer sein soll. Jetzt gibt es ja bisher die Form "ist-gleich" und "ungleich", d.h. ich könnte natürlich schreiben "= NULL". Das ist aber in ANSI SQL so nicht erlaubt. Ich kann diese Anweisung zwar ausführen, bekomme aber kein Ergebnis. Da standardmäßig in der Standardkonfiguration SQL Server dies ANSI-gemäß auch nicht unterstützt. Fehler bekommen wir zwar keinen, aber die Bedingung wird nie wahr. Zur Kontrolle, der Gegenvergleich, wenn ich nämlich anstelle von "ist-gleich" die Form für "ungleich" verwende, dann bekommen wir auch kein Ergebnis geliefert. Für NULL-Werte gibt es in SQL einen eigenen Operator, das ist der Operator "IS". "IS" darf aber ausschließlich für NULL- Werte und nichts anderes verwendet werden und der ersetzt hier in dieser Form das Gleichheitszeichen. Wenn ich nun nach der Form "IS NULL" filtere, und die Anweisung ausführe, bekomme ich jetzt hier 10 Zeilen zurückgeliefert. Das sind all diejenigen, die keinen akademischen Grad aufweisen. Zur Kontrolle zeig ich nun diese Spalte "AkadGrad" auch in der SELECT-Klausel an, d.h. ich ergänze es hier oben und führe die Anweisung erneut aus. Nun sehen wir hier definitiv, dass hier kein Eintrag besteht, dass hier alles leer ist. Natürlich müssen Sie in der Praxis auch oft das gegenteilige Ergebnis erzielen, nämlich Sie wollen alle Datensätze filtern, die in einer bestimmten Spalte nicht leer sind. Dafür gibt es die Umkehrung dieser Form "IS NOT NULL". Das würde wiederum bedeuten, alle Akademiker würden mit der Form "WHERE AkadGrad IS NOT NULL" gefiltert werden. Wenn wir diese Anweisung ausführen, bekommen wir nun alle Mitarbeiter, die sehr wohl einen akademischen Grad haben. D.h. immer dann, wenn Sie NULL-Werte filtern möchten, verwenden wir die Form "IS NULL". Immer dann, wenn Sie Werte filtern wollen, die nicht "NULL" sind, nehmen Sie die Form "IS NOT NULL". Die Variante mit "ist gleich" oder "ungleich" ist nicht definiert in ANSI SQL und nicht erlaubt und liefert auch kein Ergebnis. Bei manchen Systemen sogar eine Fehlermeldung. Sie dürfen aber den Operator "IS" ausschließlich für NULL-Werte verwenden. Sie dürfen ihn nicht für etwas anderes einsetzen, z.B. "SELECT* FROM wave.Artikel WHERE Gruppe IS "BE" anstelle von "ist-gleich". Das wäre nicht möglich und würde auch direkt zu einem Syntax Fehler führen. Hier darf nur die Form mit dem Gleichheitszeichen verwendet werden. Der Vergleichsoperator "IS" ist also ein spezieller Operator, der ausschließlich für das Filtern und Auffinden von NULL-Werten verwendet werden darf. Die Syntax dazu ist bei allen drei verwendeten Datenbank-Managementsystemen identisch, d.h. ich kopiere mir diesen Teil hier, z.B. in unseren Oracle Editor und auch hier werden diese Anweisungen dasselbe Ergebnis liefern. Die 10 ohne bzw. die 11 mit einem akademischen Grad. Und natürlich verhält sich hier auch MySQL ANSI-konform und deshalb erhalten wir hier bei diesen beiden Varianten exakt dasselbe Ergebnis. Zuerst unsere 10 Treffer und danach wiederum all jene, die sehr wohl einen akademischen Grad aufweisen. Das sind eben 11.

SQL Grundkurs 1: Die Sprache erlernen

Arbeiten Sie sich in die Grundlagen der Datenbanksprache SQL am Beispiel von Microsoft SQL Server, Oracle und MySQL ein und lassen Sie sich die praktische Nutzung erklären.

14 Std. 40 min (112 Videos)
Super Einführung für alle Fälle!
Sassan L.
Gute Schritt für Schritt Anleitung welche sehr ausführlich und vergleichend Microsoft SQL, Oracle und MySQL abarbeitet.
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!