GeeksforGeeks
Dans cet article, nous verrons comment utiliser les valeurs NULL à l’intérieur de la clause NOT IN en SQL. NULL a un statut spécial en SQL. Il représente l’absence de valeur, il ne peut donc pas être utilisé pour la comparaison. Si vous l’utilisez pour la comparaison, il retournera toujours NULL.
Afin d’utiliser la valeur NULL dans la clause NOT IN, nous pouvons créer une sous-requête distincte pour inclure des valeurs NULL.
Attention lecteur! N’arrête pas d’apprendre maintenant. Apprenez SQL pour les entretiens en utilisant le cours SQL de GeeksforGeeks.
Créez une clause where distincte pour NULL comme:
Requête:
WHERE value IS NULL;
Étape 1: Création de la base de données
Utilisez l’instruction SQL ci-dessous pour créer une base de données appelée geeks;
Requête:
CREATE DATABASE geeks;
Étape 2: Utilisation de la base de données
Utilisez l’instruction SQL ci-dessous pour basculer le contexte de la base de données en geeks:
Requête:
USE geeks;
Étape 3: Création de table
Nous avons la demo_table suivante dans la base de données de notre geek.
Requête:
CREATE TABLE demo_table(NAME VARCHAR(20),GENDER VARCHAR(20),AGE INT,CITY VARCHAR(20) );
Étape 4: Insérer des données dans une requête de table
:
INSERT INTO demo_table VALUES('ROMY KUMARI', 'FEMALE', NULL, 'NEW DELHI'),('PUSHKAR JHA', 'MALE',24, 'NEW DELHI'),('RINKLE ARORA', 'FEMALE',23, 'PUNJAB'),('AKASH GUPTA', 'MALE', NULL, 'UTTAR PRADESH'),('NIKHIL KALRA', 'MALE', 23, 'PUNJAB'),('SHALINI JHA','FEMALE', 22, 'DELHI');
Étape 5: Afficher les données de la table
Requête:
SELECT * FROM demo_table;
Sortie:
Étape 6: Utilisation de valeurs NULL dans NOT NULL
Pour la démonstration, nous renverrons les valeurs de la table dont l’ÂGE n’est pas des valeurs NULL.
Requête:
SELECT * FROM demo_table WHERE AGE NOT IN (SELECT AGE WHERE AGE IS NULL);
Sortie:
Si vous souhaitez ajouter des valeurs dans la clause NOT IN, définissez une clause NOT IN distincte avec l’opérateur ET. Si vous ajoutez la valeur dans la même clause NOT IN, elle retournera NULL.
Requête:
SELECT * FROM demo_table WHERE AGE NOT IN ((SELECT AGE WHERE AGE IS NULL),24);
Sortie:
Table vide renvoyée.
La bonne façon d’ajouter d’autres valeurs dans la clause NOT IN avec des valeurs NULLES:
Requête:
SELECT * FROM demo_table WHERE AGE NOT IN (SELECT AGE WHERE AGE IS NULL) and AGE NOT IN (24);
Sortie:
Leave a Reply