Heim >Datenbank >MySQL-Tutorial >Was ist der Unterschied zwischen den SQL-Operatoren „IS NULL' und „= NULL'?
Umfassendes Verständnis der Operatoren IS NULL
und = NULL
in SQL
Die Operatoren IS NULL
und = NULL
in SQL verhalten sich beim Umgang mit NULL-Werten unterschiedlich, was Anfänger oft verwirrt. In diesem Artikel werden die wichtigsten Unterschiede zwischen ihnen im Detail erläutert.
= NULL
Im Gegensatz zur wörtlichen Bedeutung gibt = NULL
nicht „true“ zurück, wenn der überprüfte Wert NULL ist. Es basiert auf einer dreiwertigen Logik, wobei NULL einen unbekannten Wert darstellt. In einer WHERE
-Klausel wird = NULL
als falsch interpretiert, was dazu führt, dass die entsprechende Zeile aus der Ergebnismenge ausgeschlossen wird.
IS NULL
Im Gegensatz dazu testet IS NULL
explizit auf NULL-Werte und gibt „true“ zurück, wenn der überprüfte Wert NULL ist, andernfalls „false“. Dieses Verhalten steht im Einklang mit der tatsächlichen Situation, in der NULL einen unbekannten oder fehlenden Wert darstellt.
Wann welcher Operator verwendet werden soll
Da Sie nun diese Unterschiede verstanden haben, finden Sie hier die geeigneten Szenarien für die Verwendung der einzelnen Operatoren:
= NULL
: Verwenden Sie diese Option, wenn Sie Zeilen mit unbekannten Werten aus der Ergebnismenge ausschließen müssen. Dazu gehören Zeilen, in denen der Wert NULL ist oder sein kann. IS NULL
: Verwenden Sie diesen Operator, um gezielt zu prüfen, ob ein Wert NULL ist. Dies ist besonders nützlich, wenn Sie Zeilen abrufen möchten, die explizit NULL-Werte enthalten. Beispiel
Betrachten Sie eine Tabelle mit den folgenden Daten:
ID | Name | Age |
---|---|---|
1 | John | 25 |
2 | Mary | NULL |
3 | Bob | 30 |
Abfrage 1:
<code class="language-sql">SELECT * FROM Table WHERE Age = NULL;</code>
Ergebnis:
gibt keine Zeilen zurück, da die WHERE
-Klausel die = NULL
-Bedingung als falsch behandelt und somit Zeilen mit NULL-Werten eliminiert.
Abfrage 2:
<code class="language-sql">SELECT * FROM Table WHERE Age IS NULL;</code>
Ergebnis:
gibt Zeile 2 (Mary) zurück, da die WHERE
-Klausel IS NULL
verwendet, um nur nach NULL-Werten zu suchen.
Fazit
Beim Schreiben von SQL-Abfragen ist es wichtig, den Unterschied zwischen IS NULL
und = NULL
zu verstehen. Die Auswahl des richtigen Bedieners basierend auf Ihren spezifischen Anforderungen gewährleistet genaue und aussagekräftige Ergebnisse.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen den SQL-Operatoren „IS NULL' und „= NULL'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!