Dans cet article SQL, vous apprendrez à utiliser le mot-clé IN dans les requêtes de la base de données SQL.
Qu’est-ce que le mot-clé IN en SQL ?
Le DANS est un opérateur logique dans le langage de requête structuré qui permet aux utilisateurs de la base de données de définir plusieurs valeurs dans la clause WHERE.
La clause WHERE avec l'opérateur IN affiche les enregistrements du résultat qui correspondent à l'ensemble de valeurs donné. On peut également spécifier la sous-requête entre parenthèses de l'opérateur IN.
Nous pouvons utiliser l'opérateur IN avec les requêtes INSERT, SELECT, UPDATE et DELETE dans la base de données SQL.
10 sur 10
L'opérateur IN dans SQL remplace le processus de plusieurs conditions OR dans les requêtes.
Syntaxe de l'opérateur IN :
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ......, Column_Name_N FROM Table_Name WHERE Column_Name IN (Value_1, Value_2, Value_3, ......., Value_N);
Si vous souhaitez utiliser l'opérateur IN dans les instructions SQL, vous devez suivre les étapes ci-dessous dans le même ordre :
- Créez une base de données en SQL.
- Créez la nouvelle table SQL.
- Insérez les données dans le tableau.
- Afficher les données insérées.
- Utilisez l'opérateur SQL IN pour afficher les données de la table.
Maintenant, nous allons expliquer brièvement chaque étape une par une avec le meilleur exemple SQL :
Étape 1 : Créer une nouvelle base de données simple
La première étape consiste à créer une nouvelle base de données en langage de requête structuré.
L'instruction CREATE suivante crée le nouveau Collège_mécanique Base de données sur serveur SQL :
CREATE Database Mechanical_College;
Étape 2 : Créer un nouveau tableau
Maintenant, utilisez la syntaxe SQL suivante qui aide à créer la nouvelle table dans la base de données :
CREATE TABLE table_name ( 1st_Column data type (character_size of 1st Column), 2nd_Column data type (character_size of the 2nd column ), 3rd_Column data type (character_size of the 3rd column), ...
Nth_Column data type (character_size of the Nth column) );
L'instruction CREATE suivante crée le Faculté_Info tableau dans le Collège_mécanique Base de données:
CREATE TABLE Faculty_Info ( Faculty_ID INT NOT NULL PRIMARY KEY, Faculty_First_Name VARCHAR (100), Faculty_Last_Name VARCHAR (100), Faculty_Dept_Id INT NOT NULL, Faculty_Joining_DateDATE, Faculty_City Varchar (80), Faculty_Salary INT );
Étape 3 : Insérez les données dans le tableau
Les requêtes INSERT suivantes insèrent les enregistrements des Facultés dans la table Faculté_Info :
ajouter une chaîne java
INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1001, Arush, Sharma, 4001, 2020-01-02, Delhi, 20000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1002, Bulbul, Roy, 4002, 2019-12-31, Delhi, 38000 ); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1004, Saurabh, Sharma, 4001, 2020-10-10, Mumbai, 45000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1005, Shivani, Singhania, 4001, 2019-07-15, Kolkata, 42000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary) VALUES (1006, Avinash, Sharma, 4002, 2019-11-11, Delhi, 28000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Joining_Date, Faculty_City, Faculty_Salary)VALUES (1007, Shyam, Besas, 4003, 2021-06-21, Lucknow, 35000);
Étape 4 : Afficher les données insérées
L'instruction SELECT suivante affiche les données de la table Faculté_Info :
SELECT * FROM Faculty_Info;
Faculté_Id | Faculté_Premier_Nom | Nom_famille_de la faculté | Faculté_Dept_Id | Faculté_Joining_Date | Faculté_Ville | Faculté_Salaire |
---|---|---|---|---|---|---|
1001 | ours | Sharma | 4001 | 2020-01-02 | Delhi | 20000 |
1002 | Bulbul | Roy | 4002 | 2019-12-31 | Delhi | 38000 |
1004 | Saurabh | Roy | 4001 | 2020-10-10 | Bombay | 45000 |
1005 | Shivani | Singhanie | 4001 | 2019-07-15 | Calcutta | 42000 |
1006 | Avinash | Sharma | 4002 | 2019-11-11 | Delhi | 28000 |
1007 | Shyam | Vous embrassez | 4003 | 2021-06-21 | Lucknow | 35000 |
Étape 5 : Utilisez l'opérateur IN pour afficher les données de la table Faculté_Info de différentes manières
La requête suivante utilise des valeurs numériques avec l'opérateur IN :
SELECT Faculty_Id, Faculty_First_Name, Faculty_Dept_Id, Faculty_Joining_Date, Faculty_Salary FROM Faculty_Info WHERE Faculty_Salary IN ( 38000, 42000, 45000, 35000);
Cette requête affiche uniquement l'enregistrement des facultés dont le salaire est transmis dans l'opérateur IN de la clause WHERE.
Sortir:
Faculté_Id | Faculté_Premier_Nom | Faculté_Dept_Id | Faculté_Joining_Date | Faculté_Salaire |
---|---|---|---|---|
1002 | Bulbul | 4002 | 2019-12-31 | 38000 |
1004 | Saurabh | 4001 | 2020-10-10 | 45000 |
1005 | Shivani | 4001 | 2019-07-15 | 42000 |
1007 | Shyam | 4003 | 2021-06-21 | 35000 |
La requête suivante utilise des valeurs de texte ou de caractères avec l'opérateur logique IN :
SELECT Faculty_Id, Faculty_First_Name, Faculty_Joining_Date, Faculty_City FROM Faculty_Info WHERE Faculty_City IN ( Mumbai, Kolkata, Lucknow);
Cette requête affiche uniquement l'enregistrement des facultés dont la ville est incluse entre les parenthèses de l'opérateur IN dans la clause WHERE.
Sortir:
Faculté_Id | Faculté_Premier_Nom | Faculté_Joining_Date | Faculté_Ville |
---|---|---|---|
1004 | Saurabh | 2020-10-10 | Bombay |
1005 | Shivani | 2019-07-15 | Calcutta |
1007 | Shyam | 2021-06-21 | Lucknow |
La requête suivante utilise le format DATE avec l'opérateur logique IN :
SELECT Faculty_Id, Faculty_First_Name, Faculty_Dept_ID Faculty_Joining_Date, Faculty_Salary FROM Faculty_Info WHERE Faculty_Joining_Date IN (2020-01-02, 2021-06-21, 2020-10-10, 2019-07-15);
Cette requête affiche uniquement les enregistrements des facultés dont la date d'adhésion est transmise dans l'opérateur IN de la clause WHERE.
Sortir:
Faculté_Id | Faculté_Premier_Nom | Faculté_Dept_Id | Faculté_Joining_Date | Faculté_Salaire |
---|---|---|---|---|
1001 | ours | 4001 | 2020-01-02 | 20000 |
1004 | Saurabh | 4001 | 2020-10-10 | 45000 |
1005 | Shivani | 4001 | 2019-07-15 | 42000 |
1007 | Shyam | 4003 | 2021-06-21 | 35000 |
La requête suivante utilise la commande SQL UPDATE avec l'opérateur logique IN :
UPDATE Faculty_Info SET Faculty_Salary = 50000 WHERE Faculty_Dept_ID IN (4002, 4003);
Cette requête met à jour le salaire des facultés dont Dept_Id est transmis dans l'opérateur IN de la clause WHERE.
Pour vérifier le résultat de la requête ci-dessus, tapez la requête SELECT suivante en SQL :
SELECT * FROM Faculty_Info;
Faculté_Id | Faculté_Premier_Nom | Nom_famille_de la faculté | Faculté_Dept_Id | Faculté_Joining_Date | Faculté_Ville | Faculté_Salaire |
---|---|---|---|---|---|---|
1001 | ours | Sharma | 4001 | 2020-01-02 | Delhi | 20000 |
1002 | Bulbul | Roy | 4002 | 2019-12-31 | Delhi | 50000 |
1004 | Saurabh | Roy | 4001 | 2020-10-10 | Bombay | 45000 |
1005 | Shivani | Singhanie | 4001 | 2019-07-15 | Calcutta | 42000 |
1006 | Avinash | Sharma | 4002 | 2019-11-11 | Delhi | 50000 |
1007 | Shyam | Vous embrassez | 4003 | 2021-06-21 | Lucknow | 50000 |
Opérateur SQL IN avec sous-requête
En langage de requête structuré, nous pouvons également utiliser la sous-requête avec l'opérateur logique IN.
La syntaxe de l'opérateur IN avec sous-requête est donnée ci-dessous :
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ......, Column_Name_N FROM Table_Name WHERE Column_Name IN (Subquery);
Si vous souhaitez comprendre l'opérateur IN avec sous-requête, vous devez créer les deux tables différentes dans le langage de requête structuré à l'aide de l'instruction CREATE.
La requête suivante crée la table Faculté_Info dans la base de données :
qu'est-ce que const en java
CREATE TABLE Faculty_Info ( Faculty_ID INT NOT NULL PRIMARY KEY, Faculty_First_Name VARCHAR (100), Faculty_Last_Name VARCHAR (100), Faculty_Dept_Id INT NOT NULL, Faculty_Address Varchar (80), Faculty_City Varchar (80), Faculty_Salary INT );
La requête suivante crée le Département_Info tableau dans la base de données :
CREATE TABLE Department_Info ( Dept_Id INT NOT NULL, Dept_Name Varchar(100), Head_Id INT );
Les requêtes INSERT suivantes insèrent les enregistrements des Facultés dans la table Faculté_Info :
INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1001, Arush, Sharma, 4001, 22 street, New Delhi, 20000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1002, Bulbul, Roy, 4002, 120 street, New Delhi, 38000 ); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1004, Saurabh, Sharma, 4001, 221 street, Mumbai, 45000); INSERT INTO Faculty_Info (Faculty_ID, Faculty_First_Name, Faculty_Last_NameFaculty_Dept_Id, Faculty_Address, Faculty_City, Faculty_Salary) VALUES (1005, Shivani, Singhania, 4001, 501 street, Kolkata, 42000);
Les requêtes INSERT suivantes insèrent les enregistrements des départements dans la table Department_Info :
INSERT INTO Department_Info (Dept_ID, Dept_Name, Head_Id) VALUES ( 4001, Arun, 1005); INSERT INTO Department_Info (Dept_ID, Dept_Name, Head_Id) VALUES ( 4002, Zayant, 1009); INSERT INTO Department_Info (Dept_ID, Dept_Name, Head_Id) VALUES ( 4003, Manish, 1007);
L'instruction SELECT suivante affiche les données de la table Faculté_Info :
SELECT * FROM Faculty_Info;
Faculté_Id | Faculté_Premier_Nom | Nom_famille_de la faculté | Faculté_Dept_Id | Adresse_Faculté | Faculté_Ville | Faculté_Salaire |
---|---|---|---|---|---|---|
1001 | ours | Sharma | 4001 | 22 rue | New Delhi | 20000 |
1002 | Bulbul | Roy | 4002 | 120 rue | New Delhi | 38000 |
1004 | Saurabh | Roy | 4001 | 221 rue | Bombay | 45000 |
1005 | Shivani | Singhanie | 4001 | 501 rue | Calcutta | 42000 |
1006 | Avinash | Sharma | 4002 | 12 rue | Delhi | 28000 |
1007 | Shyam | Vous embrassez | 4003 | 202 rue | Lucknow | 35000 |
La requête suivante affiche les enregistrements du département de la table Department_Info :
SELECT * FROM Department_Info;
La requête suivante utilise l'opérateur IN avec une sous-requête :
SELECT * FROM Faculty_Info WHERE Faculty_Dept_Id IN ( Select Dept_Id FROM Department_Info WHERE Head_Id >= 1007);
Cette requête affiche l'enregistrement des facultés dont le Dept_ID de la table Faculté_Info correspond au Dept_Id de la table Department_Info.
Sortir:
Faculté_Id | Faculté_Premier_Nom | Nom_famille_de la faculté | Faculté_Dept_Id | Adresse_Faculté | Faculté_Ville | Faculté_Salaire |
---|---|---|---|---|---|---|
1002 | Bulbul | Roy | 4002 | 120 rue | New Delhi | 38000 |
1006 | Avinash | Sharma | 4002 | 12 rue | Delhi | 28000 |
1007 | Shyam | Vous embrassez | 4003 | 202 rue | Lucknow | 35000 |
Qu'est-ce qui n'est PAS IN en SQL ?
Le NOT IN est un autre opérateur du langage de requête structuré, qui est juste en face de l'opérateur SQL IN. Il permet d'accéder à ces valeurs depuis le tableau, qui ne passe pas entre parenthèses de l'opérateur IN.
L'opérateur NOT IN peut être utilisé dans les requêtes SQL INSERT, UPDATE, SELECT et DELETE.
Syntaxe de l'opérateur NOT IN :
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ......, Column_Name_N FROM Table_Name WHERE Column_Name NOT IN (Value_1, Value_2, Value_3, ......., Value_N);
Si vous souhaitez utiliser l'opérateur NOT IN dans les instructions SQL, vous devez suivre les étapes indiquées dans le même ordre :
- Créez une base de données dans le système SQL.
- Créez la nouvelle table dans la base de données.
- Insérez les données dans le tableau
- Afficher les données insérées
- Utilisez l'opérateur NOT IN pour afficher les données.
Maintenant, nous allons expliquer brièvement chaque étape une par une avec le meilleur exemple SQL :
Étape 1 : Créer la nouvelle base de données simple
chaîne en C++
La requête suivante crée le nouveau Industrie_Civile Base de données sur serveur SQL :
CREATE Database Industry;
Étape 2 : Créer la nouvelle table
La requête suivante crée le Travailleur_Info tableau dans le Industrie_Civile Base de données:
CREATE TABLE Worker_Info ( Worker_ID INT NOT NULL PRIMARY KEY, Worker_Name VARCHAR (100), Worker_Gender Varchar(20), Worker_Age INT NOT NULL DEFAULT 18, Worker_Address Varchar (80), Worker_Salary INT NOT NULL );
Étape 3 : Insérez les valeurs
Les requêtes INSERT suivantes insèrent les enregistrements des travailleurs dans la table Worker_Info :
INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1001, Arush, Male, Agra, 35000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1002, Bulbul, Female, Lucknow, 42000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1004, Saurabh, Male, 20, Lucknow, 45000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1005, Shivani, Female, Agra, 28000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1006, Avinash, Male, 22, Delhi, 38000); INSERT INTO Worker_Info (Worker_ID, Worker_Name, Worker_Gender, Worker_Age, Worker_Address, Worker_Salary) VALUES (1007, Shyam, Male, Banglore, 20000);
Étape 4 : Afficher les données de la table
La requête suivante affiche les données de la table Worker_Info.
tableau de retour Java
SELECT * FROM Worker_Info;
ID_travailleur | Nom_travailleur | Travailleur_Gender | Âge_travailleur | Adresse_travailleur | Travailleur_Salaire |
---|---|---|---|---|---|
1001 | ours | Mâle | 18 | Āgrā | 35000 |
1002 | Bulbul | Femelle | 18 | Lucknow | 42000 |
1004 | Saurabh | Mâle | vingt | Lucknow | 45000 |
1005 | Shivani | Femelle | 18 | Āgrā | 28000 |
1006 | Avinash | Mâle | 22 | Delhi | 38000 |
1007 | Shyam | Mâle | 18 | Bangalore | 20000 |
Étape 4 : Utilisez l'opérateur NOT IN
La requête suivante utilise l'opérateur NOT IN avec des données numériques :
SELECT * FROM Worker_Info WHERE Worker_salary NOT IN (35000, 28000, 38000);
Cette requête SELECT affiche tous les travailleurs dans la sortie dont le salaire n'est pas transmis dans l'opérateur NOT IN.
Le résultat de l'instruction ci-dessus est présenté dans le tableau suivant :
ID_travailleur | Nom_travailleur | Travailleur_Gender | Âge_travailleur | Adresse_travailleur | Travailleur_Salaire |
---|---|---|---|---|---|
1002 | Bulbul | Femelle | 18 | Lucknow | 42000 |
1004 | Saurabh | Mâle | vingt | Lucknow | 45000 |
1007 | Shyam | Mâle | 18 | Bangalore | 20000 |
La requête suivante utilise l'opérateur logique NOT IN avec des valeurs de caractère ou de texte :
SELECT * FROM Worker_Info WHERE Worker_Address NOT IN (Lucknow, Delhi);
Cette requête affiche l'enregistrement de tous les travailleurs dont l'adresse n'est pas transmise dans l'opérateur NOT IN.
Sortir:
ID_travailleur | Nom_travailleur | Travailleur_Gender | Âge_travailleur | Adresse_travailleur | Travailleur_Salaire |
---|---|---|---|---|---|
1001 | ours | Mâle | 18 | Āgrā | 35000 |
1005 | Shivani | Femelle | 18 | Āgrā | 28000 |
1007 | Shyam | Mâle | 18 | Bangalore | 20000 |