sql >> Database >  >> RDS >> SQLite

SQLite IS NULL

Samenvatting :in deze tutorial leer je hoe je de SQLite IS NULL . gebruikt en IS NOT NULL operators om te controleren of een waarde NULL is of niet.

Inleiding tot de SQLite IS NULL telefoniste

NULL is speciaal. Het geeft aan dat bepaalde informatie onbekend of niet van toepassing is.

Sommige nummers hebben bijvoorbeeld geen informatie over de songwriter omdat we niet weten wie ze heeft geschreven.

Om deze onbekende songwriters samen met de nummers in een databasetabel op te slaan, moeten we NULL gebruiken.

NULL is nergens gelijk aan, zelfs het getal nul, een lege string, enzovoort.

Vooral NULL is niet gelijk aan zichzelf. De volgende expressie retourneert 0:

NULL = NULL
Code language: SQL (Structured Query Language) (sql)

Dit komt omdat twee onbekende informatie niet vergelijkbaar kan zijn.

Laten we eens kijken naar de volgende tracks tabel uit de voorbeelddatabase:

De volgende instructie probeert tracks te vinden waarvan de componisten NULL zijn:

SELECT
    Name, 
    Composer
FROM
    tracks
WHERE
    Composer = NULL;
Code language: SQL (Structured Query Language) (sql)

Het retourneert een lege rij zonder een extra bericht af te geven.

Dit komt omdat de volgende uitdrukking altijd naar false evalueert:

Composer = NULL
Code language: SQL (Structured Query Language) (sql)

Het is niet geldig om de NULL op deze manier te gebruiken.

Om te controleren of een waarde NULL is of niet, gebruik je de IS NULL operator in plaats daarvan:

{ column | expression } IS NULL;
Code language: SQL (Structured Query Language) (sql)

De IS NULL operator geeft 1 terug als de column of expression evalueert naar NULL.

Om alle tracks te vinden waarvan de componisten onbekend zijn, gebruik je de IS NULL operator zoals getoond in de volgende vraag:

SELECT
    Name, 
    Composer
FROM
    tracks
WHERE
    Composer IS NULL
ORDER BY 
    Name;   
Code language: SQL (Structured Query Language) (sql)

Hier is de gedeeltelijke output:

SQLite IS NOT NULL telefoniste

De NOT operator negeert de IS NULL operator als volgt:

expression | column IS NOT NULL
Code language: SQL (Structured Query Language) (sql)

De IS NOT NULL operator geeft 1 terug als de expression of column is niet NULL, en 0 als de uitdrukking of kolom NULL is.

Het volgende voorbeeld vindt tracks wiens componisten niet NULL zijn:

SELECT
    Name, 
    Composer
FROM
    tracks
WHERE
    Composer IS NOT NULL
ORDER BY 
    Name;       
Code language: SQL (Structured Query Language) (sql)

Deze afbeelding illustreert de gedeeltelijke output:

In deze zelfstudie hebt u geleerd hoe u kunt controleren of waarden in een kolom of expressie NULL zijn of niet met behulp van de IS NULL en IS NOT NULL operators.


  1. MySQL - hoeveel rijen kan ik invoegen in één enkele INSERT-instructie?

  2. Queryresultaten filteren in PostgreSQL

  3. Hoe duplicaten in SQL te verwijderen

  4. Hoe selecteer je alleen de eerste rijen voor elke unieke waarde van een kolom?