logo

Kā lietot IN SQL

Šajā SQL rakstā jūs uzzināsit, kā SQL datu bāzes vaicājumos izmantot atslēgvārdu IN.

Kas ir IN atslēgvārds SQL?

The IN ir loģisks operators strukturētā vaicājuma valodā, kas ļauj datu bāzes lietotājiem definēt vairāk nekā vienu vērtību klauzulā WHERE.

WHERE klauzula ar operatoru IN parāda tos rezultāta ierakstus, kas ir saskaņoti ar doto vērtību kopu. Apakšvaicājumu varam norādīt arī operatora IN iekavās.

Mēs varam izmantot IN operatoru ar vaicājumiem INSERT, SELECT, UPDATE un DELETE SQL datu bāzē.

IN operators SQL aizvieto vairāku VAI nosacījumu procesu vaicājumos.

concat virknes java

IN operatora sintakse:

 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); 

Ja SQL priekšrakstos vēlaties izmantot operatoru IN, jums ir jāveic tālāk norādītās darbības tādā pašā secībā:

  1. Izveidojiet datu bāzi SQL.
  2. Izveidojiet jaunu SQL tabulu.
  3. Ievietojiet datus tabulā.
  4. Skatiet ievietotos datus.
  5. Izmantojiet operatoru SQL IN, lai parādītu tabulas datus.

Tagad mēs īsi izskaidrosim katru soli pa vienam, izmantojot labāko SQL piemēru:

1. darbība. Izveidojiet vienkāršu jaunu datu bāzi

Pirmais solis ir izveidot jaunu datubāzi strukturētā vaicājuma valodā.

Šis CREATE priekšraksts izveido jaunu Mehāniskā_koledža Datu bāze SQL serverī:

 CREATE Database Mechanical_College; 

2. darbība. Izveidojiet jaunu tabulu

Tagad izmantojiet šādu SQL sintaksi, kas palīdz izveidot jaunu tabulu datu bāzē:

 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) ); 

Šis CREATE priekšraksts izveido Fakultātes_Informācija tabulā Mehāniskā_koledža Datu bāze:

 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 ); 

3. darbība: ievietojiet datus tabulā

Šie INSERT vaicājumi ievieto fakultāšu ierakstus tabulā Faculty_Info:

 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); 

4. darbība: skatiet ievietotos datus

Šis SELECT priekšraksts parāda tabulas Faculty_Info datus:

 SELECT * FROM Faculty_Info; 

Fakultātes_ID Fakultātes_vārds Fakultāte_Uzvārds Fakultātes_nodaļas_ID Fakultāte_Iestāšanās_datums Fakultāte_Pilsēta Fakultāte_Alga
1001. gads lācis Šarma 4001 2020-01-02 Deli 20 000
1002 Bulbul Rojs 4002 2019-12-31 Deli 38 000
1004. gads Saurabh Rojs 4001 2020-10-10 Mumbaja 45 000
1005. gads Šivani Singhania 4001 2019-07-15 Kolkata 42 000
1006 Avinašs Šarma 4002 2019-11-11 Deli 28 000
1007 Shyam Tu skūpsti 4003 2021-06-21 Laknava 35 000

5. darbība: izmantojiet IN operatoru, lai dažādos veidos skatītu fakultātes_informācijas tabulas datus

Šis vaicājums izmanto skaitliskas vērtības ar IN operatoru:

 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); 

Šis vaicājums parāda tikai to fakultāšu ierakstu, kuru alga ir ieskaitīta IN operatorā WHERE klauzulā.

Izvade:

Fakultātes_ID Fakultātes_vārds Fakultātes_nodaļas_ID Fakultāte_Iestāšanās_datums Fakultāte_Alga
1002 Bulbul 4002 2019-12-31 38 000
1004. gads Saurabh 4001 2020-10-10 45 000
1005. gads Šivani 4001 2019-07-15 42 000
1007 Shyam 4003 2021-06-21 35 000

Šis vaicājums izmanto teksta vai rakstzīmju vērtības ar IN loģisko operatoru:

reactjs karte
 SELECT Faculty_Id, Faculty_First_Name, Faculty_Joining_Date, Faculty_City FROM Faculty_Info WHERE Faculty_City IN ( Mumbai, Kolkata, Lucknow); 

Šis vaicājums parāda tikai to fakultāšu ierakstu, kuru pilsēta ir iekļauta IN operatora iekavās WHERE klauzulā.

Izvade:

Fakultātes_ID Fakultātes_vārds Fakultāte_Iestāšanās_datums Fakultāte_Pilsēta
1004. gads Saurabh 2020-10-10 Mumbaja
1005. gads Šivani 2019-07-15 Kolkata
1007 Shyam 2021-06-21 Laknava

Šis vaicājums izmanto DATE formātu ar IN loģisko operatoru:

 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); 

Šis vaicājums parāda tikai tos fakultāšu ierakstus, kuru pievienošanās datums ir nodots WHERE klauzulas IN operatorā.

Izvade:

Fakultātes_ID Fakultātes_vārds Fakultātes_nodaļas_ID Fakultāte_Iestāšanās_datums Fakultāte_Alga
1001. gads lācis 4001 2020-01-02 20 000
1004. gads Saurabh 4001 2020-10-10 45 000
1005. gads Šivani 4001 2019-07-15 42 000
1007 Shyam 4003 2021-06-21 35 000

Šis vaicājums izmanto komandu SQL UPDATE ar IN loģisko operatoru:

 UPDATE Faculty_Info SET Faculty_Salary = 50000 WHERE Faculty_Dept_ID IN (4002, 4003); 

Šis vaicājums atjaunina to fakultāšu algu, kuru Dept_Id ir nodots WHERE klauzulas IN operatorā.

Lai pārbaudītu iepriekš minētā vaicājuma rezultātu, SQL ierakstiet šādu SELECT vaicājumu:

 SELECT * FROM Faculty_Info; 
Fakultātes_ID Fakultātes_vārds Fakultāte_Uzvārds Fakultātes_nodaļas_ID Fakultāte_Iestāšanās_datums Fakultāte_Pilsēta Fakultāte_Alga
1001. gads lācis Šarma 4001 2020-01-02 Deli 20 000
1002 Bulbul Rojs 4002 2019-12-31 Deli 50 000
1004. gads Saurabh Rojs 4001 2020-10-10 Mumbaja 45 000
1005. gads Šivani Singhania 4001 2019-07-15 Kolkata 42 000
1006 Avinašs Šarma 4002 2019-11-11 Deli 50 000
1007 Shyam Tu skūpsti 4003 2021-06-21 Laknava 50 000

SQL IN operators ar apakšvaicājumu

Strukturētā vaicājuma valodā mēs varam izmantot arī apakšvaicājumu ar IN loģisko operatoru.

IN operatora sintakse ar apakšvaicājumu ir norādīta zemāk:

 SELECT Column_Name_1, Column_Name_2, Column_Name_3, ......, Column_Name_N FROM Table_Name WHERE Column_Name IN (Subquery); 

Ja vēlaties saprast IN operatoru ar apakšvaicājumu, jums ir jāizveido divas dažādas tabulas strukturētā vaicājuma valodā, izmantojot priekšrakstu CREATE.

Šis vaicājums datu bāzē izveido tabulu Faculty_Info:

 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 ); 

Šis vaicājums izveido Nodaļas_Informācija tabula datu bāzē:

 CREATE TABLE Department_Info ( Dept_Id INT NOT NULL, Dept_Name Varchar(100), Head_Id INT ); 

Šie INSERT vaicājumi ievieto fakultāšu ierakstus tabulā Faculty_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); 

Šie INSERT vaicājumi ievieto departamentu ierakstus tabulā 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); 

Šis SELECT priekšraksts parāda tabulas Faculty_Info datus:

 SELECT * FROM Faculty_Info; 

Fakultātes_ID Fakultātes_vārds Fakultāte_Uzvārds Fakultātes_nodaļas_ID Fakultātes_adrese Fakultāte_Pilsēta Fakultāte_Alga
1001. gads lācis Šarma 4001 22 ielā Ņūdeli 20 000
1002 Bulbul Rojs 4002 120 ielā Ņūdeli 38 000
1004. gads Saurabh Rojs 4001 221 ielā Mumbaja 45 000
1005. gads Šivani Singhania 4001 Iela 501 Kolkata 42 000
1006 Avinašs Šarma 4002 12 ielā Deli 28 000
1007 Shyam Tu skūpsti 4003 202 ielā Laknava 35 000

Šis vaicājums parāda nodaļas ierakstus no tabulas Department_Info:

kajal aggarwal
 SELECT * FROM Department_Info; 
Kā lietot IN SQL

Šis vaicājums izmanto IN operatoru ar apakšvaicājumu:

 SELECT * FROM Faculty_Info WHERE Faculty_Dept_Id IN ( Select Dept_Id FROM Department_Info WHERE Head_Id >= 1007); 

Šis vaicājums parāda to fakultāšu ierakstu, kuru tabulas Fakultātes_informācija Dept_ID ir saskaņota ar Departamenta_informācijas tabulas Dept_ID.

Izvade:

Fakultātes_ID Fakultātes_vārds Fakultāte_Uzvārds Fakultātes_nodaļas_ID Fakultātes_adrese Fakultāte_Pilsēta Fakultāte_Alga
1002 Bulbul Rojs 4002 120 ielā Ņūdeli 38 000
1006 Avinašs Šarma 4002 12 ielā Deli 28 000
1007 Shyam Tu skūpsti 4003 202 ielā Laknava 35 000

Kas NAV IN SQL?

NOT IN ir vēl viens operators Structured Query Language, kas ir tieši pretējs operatoram SQL IN. Tas ļauj no tabulas piekļūt tām vērtībām, kuras netiek nodotas IN operatora iekavās.

Operatoru NOT IN var izmantot SQL vaicājumos INSERT, UPDATE, SELECT un DELETE.

Operatora NOT IN sintakse:

 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); 

Ja SQL priekšrakstos vēlaties izmantot operatoru NOT IN, jums ir jāveic norādītās darbības tādā pašā secībā:

  1. Izveidojiet datu bāzi SQL sistēmā.
  2. Izveidojiet jaunu tabulu datu bāzē.
  3. Ievietojiet datus tabulā
  4. Skatiet ievietotos datus
  5. Lai skatītu datus, izmantojiet operatoru NOT IN.

Tagad mēs īsi izskaidrosim katru soli pa vienam, izmantojot labāko SQL piemēru:

1. darbība. Izveidojiet vienkāršu jauno datubāzi

Šis vaicājums izveido jaunu Civilā_industrija Datu bāze SQL serverī:

 CREATE Database Industry; 

2. darbība. Izveidojiet jaunu tabulu

Šis vaicājums izveido Darbinieka_informācija tabulā Civilā_industrija Datu bāze:

 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 ); 

3. darbība: ievietojiet vērtības

mapes pārdēvēšana operētājsistēmā Linux

Šie INSERT vaicājumi ievieto darbinieku ierakstus tabulā 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); 

4. darbība. Skatiet tabulas datus

Šis vaicājums parāda tabulas Worker_Info datus.

 SELECT * FROM Worker_Info; 

Darbinieka_ID Darbinieka_vārds Darbinieka_dzimums Strādnieka_vecums Darbinieka_adrese Strādnieks_alga
1001. gads lācis Vīrietis 18 Agra 35 000
1002 Bulbul Sieviete 18 Laknava 42 000
1004. gads Saurabh Vīrietis divdesmit Laknava 45 000
1005. gads Šivani Sieviete 18 Agra 28 000
1006 Avinašs Vīrietis 22 Deli 38 000
1007 Shyam Vīrietis 18 Bengalūra 20 000

4. darbība: izmantojiet operatoru NOT IN

Šis vaicājums izmanto operatoru NOT IN ar skaitliskiem datiem:

 SELECT * FROM Worker_Info WHERE Worker_salary NOT IN (35000, 28000, 38000); 

Šis SELECT vaicājums parāda visus tos darbiniekus izvadē, kuru alga nav nodota operatorā NOT IN.

Iepriekš minētā paziņojuma rezultāts ir parādīts šajā tabulā:

Darbinieka_ID Darbinieka_vārds Darbinieka_dzimums Strādnieka_vecums Darbinieka_adrese Strādnieks_Alga
1002 Bulbul Sieviete 18 Laknava 42 000
1004. gads Saurabh Vīrietis divdesmit Laknava 45 000
1007 Shyam Vīrietis 18 Bengalūra 20 000

Šis vaicājums izmanto loģisko operatoru NOT IN ar rakstzīmju vai teksta vērtībām:

 SELECT * FROM Worker_Info WHERE Worker_Address NOT IN (Lucknow, Delhi); 

Šis vaicājums parāda visu to darbinieku ierakstu, kuru adrese nav nodota operatorā NOT IN.

Izvade:

Darbinieka_ID Darbinieka_vārds Darbinieka_dzimums Strādnieka_vecums Darbinieka_adrese Strādnieks_alga
1001. gads lācis Vīrietis 18 Agra 35 000
1005. gads Šivani Sieviete 18 Agra 28 000
1007 Shyam Vīrietis 18 Bengalūra 20 000