SQL - Valori NULL

L'SQL NULLè il termine usato per rappresentare un valore mancante. Un valore NULL in una tabella è un valore in un campo che sembra essere vuoto.

Un campo con un valore NULL è un campo senza valore. È molto importante comprendere che un valore NULL è diverso da un valore zero o da un campo che contiene spazi.

Sintassi

La sintassi di base di NULL durante la creazione di una tabella.

SQL> CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);

Qui, NOT NULLsignifica che la colonna dovrebbe sempre accettare un valore esplicito del tipo di dati specificato. Ci sono due colonne in cui non abbiamo usato NOT NULL, il che significa che queste colonne potrebbero essere NULL.

Un campo con un valore NULL è quello che è stato lasciato vuoto durante la creazione del record.

Esempio

Il valore NULL può causare problemi durante la selezione dei dati. Tuttavia, poiché quando si confronta un valore sconosciuto con qualsiasi altro valore, il risultato è sempre sconosciuto e non è incluso nei risultati. Devi usare il fileIS NULL o IS NOT NULL operatori per verificare la presenza di un valore NULL.

Considera la seguente tabella CLIENTI con i record come mostrato di seguito.

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |          |
|  7 | Muffy    |  24 | Indore    |          |
+----+----------+-----+-----------+----------+

Di seguito è riportato l'utilizzo di IS NOT NULLoperatore.

SQL> SELECT  ID, NAME, AGE, ADDRESS, SALARY
   FROM CUSTOMERS
   WHERE SALARY IS NOT NULL;

Ciò produrrebbe il seguente risultato:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
+----+----------+-----+-----------+----------+

Di seguito è riportato l'utilizzo di IS NULL operatore.

SQL> SELECT  ID, NAME, AGE, ADDRESS, SALARY
   FROM CUSTOMERS
   WHERE SALARY IS NULL;

Ciò produrrebbe il seguente risultato:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  6 | Komal    |  22 | MP        |          |
|  7 | Muffy    |  24 | Indore    |          |
+----+----------+-----+-----------+----------+