Heim > Datenbank > MySQL-Tutorial > Was ist der Unterschied zwischen den SQL-Operatoren „IS NULL' und „= NULL'?

Was ist der Unterschied zwischen den SQL-Operatoren „IS NULL' und „= NULL'?

Linda Hamilton
Freigeben: 2025-01-11 20:21:44
Original
511 Leute haben es durchsucht

What's the Difference Between SQL's `IS NULL` and `= NULL` Operators?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage