Š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ā:
- Izveidojiet datu bāzi SQL.
- Izveidojiet jaunu SQL tabulu.
- Ievietojiet datus tabulā.
- Skatiet ievietotos datus.
- 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;
Š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ā:
- Izveidojiet datu bāzi SQL sistēmā.
- Izveidojiet jaunu tabulu datu bāzē.
- Ievietojiet datus tabulā
- Skatiet ievietotos datus
- 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 |