SQLite
 sql >> Database >  >> RDS >> SQLite

SQLite È NULL

Riepilogo :in questo tutorial imparerai come usare SQLite IS NULL e IS NOT NULL operatori per verificare se un valore è NULL o meno.

Introduzione a SQLite IS NULL operatore

NULL è speciale. Indica che un'informazione è sconosciuta o non applicabile.

Ad esempio, alcune canzoni potrebbero non avere le informazioni sull'autore perché non sappiamo chi le abbia scritte.

Per memorizzare questi autori sconosciuti insieme alle canzoni in una tabella di database, dobbiamo usare NULL.

NULL non è uguale a nulla, anche il numero zero, una stringa vuota e così via.

Soprattutto, NULL non è uguale a se stesso. La seguente espressione restituisce 0:

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

Questo perché due informazioni sconosciute non possono essere confrontate.

Vediamo i seguenti tracks tabella dal database di esempio:

La seguente istruzione tenta di trovare tracce i cui compositori sono NULL:

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

Restituisce una riga vuota senza emettere alcun messaggio aggiuntivo.

Questo perché la seguente espressione restituisce sempre false:

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

Non è valido utilizzare il NULL in questo modo.

Per verificare se un valore è NULL o meno, si utilizza IS NULL operatore invece:

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

Il IS NULL l'operatore restituisce 1 se la column o expression restituisce NULL.

Per trovare tutte le tracce i cui compositori sono sconosciuti, usa IS NULL operatore come mostrato nella query seguente:

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

Ecco l'output parziale:

SQLite IS NOT NULL operatore

Il NOT l'operatore nega il IS NULL operatore come segue:

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

Il IS NOT NULL l'operatore restituisce 1 se l'expression o column non è NULL e 0 se l'espressione o la colonna è NULL.

L'esempio seguente trova tracks i cui compositori non sono NULL:

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

Questa immagine illustra l'output parziale:

In questo tutorial, hai imparato a verificare se i valori in una colonna o in un'espressione sono NULL o meno utilizzando IS NULL e IS NOT NULL operatori.