У овом СКЛ чланку ћете научити како да користите кључну реч ИН у упитима СКЛ базе података.
Шта је ИН кључна реч у СКЛ-у?
Тхе ИН је логички оператор у језику структурираних упита који омогућава корисницима базе података да дефинишу више од једне вредности у клаузули ВХЕРЕ.
конверзија типова и кастинг у јава
Клаузула ВХЕРЕ са ИН оператором приказује оне записе у резултату који су упарени са датим скупом вредности. Такође можемо навести потупит у загради ИН оператора.
Оператор ИН можемо користити са упитима ИНСЕРТ, СЕЛЕЦТ, УПДАТЕ и ДЕЛЕТЕ у СКЛ бази података.
ИН оператор у СКЛ-у замењује процес вишеструких услова ИЛИ у упитима.
Синтакса ИН оператора:
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);
Ако желите да користите ИН оператор у СКЛ изразима, морате да следите доле наведене кораке у истом редоследу:
- Креирајте базу података у СКЛ-у.
- Креирајте нову СКЛ табелу.
- Убаците податке у табелу.
- Погледајте уметнуте податке.
- Користите СКЛ ИН оператор за приказ података табеле.
Сада ћемо укратко објаснити сваки корак један по један са најбољим СКЛ примером:
Корак 1: Направите једноставну нову базу података
Први корак је креирање нове базе података у језику структурираних упита.
Следећа изјава ЦРЕАТЕ креира нову Машински_колеџ База података на СКЛ серверу:
CREATE Database Mechanical_College;
Корак 2: Направите нову табелу
Сада користите следећу СКЛ синтаксу која помаже у креирању нове табеле у бази података:
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) );
Следећа изјава ЦРЕАТЕ креира Фацулти_Инфо сто у Машински_колеџ База података:
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: Убаците податке у табелу
Следећи упити ИНСЕРТ убацују записе о факултетима у табелу Фацулти_Инфо:
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: Прегледајте уметнуте податке
Следећа СЕЛЕЦТ изјава приказује податке табеле Фацулти_Инфо:
SELECT * FROM Faculty_Info;
Фацулти_Ид | Име_факултета | Презиме_факултета | Фацулти_Депт_Ид | Фацулти_Јоининг_Дате | Фацулти_Цити | Факултет_Плата |
---|---|---|---|---|---|---|
1001 | медвед | Схарма | 4001 | 2020-01-02 | Делхи | 20000 |
1002 | Булбул | Рои | 4002 | 2019-12-31 | Делхи | 38000 |
1004 | Саурабх | Рои | 4001 | 2020-10-10 | Мумбаи | 45000 |
1005 | Схивани | Сингханиа | 4001 | 2019-07-15 | Колката | 42000 |
1006 | Авинасх | Схарма | 4002 | 2019-11-11 | Делхи | 28000 |
1007 | Схиам | Љубиш | 4003 | 2021-06-21 | Луцкнов | 35000 |
Корак 5: Користите ИН Оператор да видите податке табеле Фацулти_Инфо на различите начине
Следећи упит користи нумеричке вредности са ИН оператором:
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);
Овај упит приказује само евиденцију оних факултета чија је плата пренета у ИН оператор клаузуле ВХЕРЕ.
Излаз:
Фацулти_Ид | Име_факултета | Фацулти_Депт_Ид | Фацулти_Јоининг_Дате | Факултет_Плата |
---|---|---|---|---|
1002 | Булбул | 4002 | 2019-12-31 | 38000 |
1004 | Саурабх | 4001 | 2020-10-10 | 45000 |
1005 | Схивани | 4001 | 2019-07-15 | 42000 |
1007 | Схиам | 4003 | 2021-06-21 | 35000 |
Следећи упит користи текстуалне или знаковне вредности са ИН логичким оператором:
SELECT Faculty_Id, Faculty_First_Name, Faculty_Joining_Date, Faculty_City FROM Faculty_Info WHERE Faculty_City IN ( Mumbai, Kolkata, Lucknow);
Овај упит приказује само запис оних факултета чији је град укључен у загради ИН оператора у клаузули ВХЕРЕ.
Излаз:
Фацулти_Ид | Име_факултета | Фацулти_Јоининг_Дате | Фацулти_Цити |
---|---|---|---|
1004 | Саурабх | 2020-10-10 | Мумбаи |
1005 | Схивани | 2019-07-15 | Колката |
1007 | Схиам | 2021-06-21 | Луцкнов |
Следећи упит користи формат ДАТЕ са логичким оператором ИН:
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);
Овај упит приказује само оне записе факултета чији је датум придруживања прослеђен у ИН оператору клаузуле ВХЕРЕ.
Излаз:
Фацулти_Ид | Име_факултета | Фацулти_Депт_Ид | Фацулти_Јоининг_Дате | Факултет_Плата |
---|---|---|---|---|
1001 | медвед | 4001 | 2020-01-02 | 20000 |
1004 | Саурабх | 4001 | 2020-10-10 | 45000 |
1005 | Схивани | 4001 | 2019-07-15 | 42000 |
1007 | Схиам | 4003 | 2021-06-21 | 35000 |
Следећи упит користи СКЛ УПДАТЕ команду са ИН логичким оператором:
UPDATE Faculty_Info SET Faculty_Salary = 50000 WHERE Faculty_Dept_ID IN (4002, 4003);
Овај упит ажурира плату оних факултета чији је Депт_Ид прослеђен у ИН оператору клаузуле ВХЕРЕ.
Да бисте проверили резултат горњег упита, откуцајте следећи СЕЛЕЦТ упит у СКЛ-у:
претворити цхар у стринг
SELECT * FROM Faculty_Info;
Фацулти_Ид | Име_факултета | Презиме_факултета | Фацулти_Депт_Ид | Фацулти_Јоининг_Дате | Фацулти_Цити | Факултет_Плата |
---|---|---|---|---|---|---|
1001 | медвед | Схарма | 4001 | 2020-01-02 | Делхи | 20000 |
1002 | Булбул | Рои | 4002 | 2019-12-31 | Делхи | 50000 |
1004 | Саурабх | Рои | 4001 | 2020-10-10 | Мумбаи | 45000 |
1005 | Схивани | Сингханиа | 4001 | 2019-07-15 | Колката | 42000 |
1006 | Авинасх | Схарма | 4002 | 2019-11-11 | Делхи | 50000 |
1007 | Схиам | Љубиш | 4003 | 2021-06-21 | Луцкнов | 50000 |
СКЛ ИН оператор са подупитом
У језику структурираних упита можемо користити и потупит са логичким оператором ИН.
Синтакса ИН оператора са подупитом је дата у наставку:
SELECT Column_Name_1, Column_Name_2, Column_Name_3, ......, Column_Name_N FROM Table_Name WHERE Column_Name IN (Subquery);
Ако желите да разумете ИН оператор са подупитом, морате да креирате две различите табеле у језику структурираних упита користећи наредбу ЦРЕАТЕ.
Следећи упит креира табелу Фацулти_Инфо у бази података:
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 );
Следећи упит креира Департмент_Инфо табела у бази података:
CREATE TABLE Department_Info ( Dept_Id INT NOT NULL, Dept_Name Varchar(100), Head_Id INT );
Следећи упити ИНСЕРТ убацују записе о факултетима у табелу Фацулти_Инфо:
ц стринг у низу
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);
Следећи ИНСЕРТ упити убацују записе одељења у табелу Департмент_Инфо:
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);
Следећа СЕЛЕЦТ изјава приказује податке табеле Фацулти_Инфо:
SELECT * FROM Faculty_Info;
Фацулти_Ид | Име_факултета | Презиме_факултета | Фацулти_Депт_Ид | Адреса_факултета | Фацулти_Цити | Факултет_Плата |
---|---|---|---|---|---|---|
1001 | медвед | Схарма | 4001 | 22 Стреет | Нев Делхи | 20000 |
1002 | Булбул | Рои | 4002 | 120 Стреет | Нев Делхи | 38000 |
1004 | Саурабх | Рои | 4001 | 221 улица | Мумбаи | 45000 |
1005 | Схивани | Сингханиа | 4001 | 501 Стреет | Колката | 42000 |
1006 | Авинасх | Схарма | 4002 | 12 Стреет | Делхи | 28000 |
1007 | Схиам | Љубиш | 4003 | 202 Стреет | Луцкнов | 35000 |
Следећи упит приказује записе одељења из табеле Департмент_Инфо:
SELECT * FROM Department_Info;
Следећи упит користи ИН оператор са подупитом:
SELECT * FROM Faculty_Info WHERE Faculty_Dept_Id IN ( Select Dept_Id FROM Department_Info WHERE Head_Id >= 1007);
Овај упит приказује запис оних факултета чији се Депт_ИД табеле Фацулти_Инфо поклапа са Депт_Ид табеле Департмент_Инфо.
Излаз:
Фацулти_Ид | Име_факултета | Презиме_факултета | Фацулти_Депт_Ид | Адреса_факултета | Фацулти_Цити | Факултет_Плата |
---|---|---|---|---|---|---|
1002 | Булбул | Рои | 4002 | 120 Стреет | Нев Делхи | 38000 |
1006 | Авинасх | Схарма | 4002 | 12 Стреет | Делхи | 28000 |
1007 | Схиам | Љубиш | 4003 | 202 Стреет | Луцкнов | 35000 |
Шта НИЈЕ ИН у СКЛ-у?
НОТ ИН је још један оператор у језику структурираних упита, који је управо супротан оператору СКЛ ИН. Омогућава вам да приступите тим вредностима из табеле, која не пролази у загради ИН оператора.
НОТ ИН оператор се може користити у СКЛ упитима ИНСЕРТ, УПДАТЕ, СЕЛЕЦТ и ДЕЛЕТЕ.
Синтакса оператора НОТ ИН:
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);
Ако желите да користите НОТ ИН оператор у СКЛ-овим изјавама, морате да пратите дате кораке у истом редоследу:
- Креирајте базу података у СКЛ систему.
- Креирајте нову табелу у бази података.
- Убаците податке у табелу
- Погледајте уметнуте податке
- Користите оператор НОТ ИН да видите податке.
Сада ћемо укратко објаснити сваки корак један по један са најбољим СКЛ примером:
Корак 1: Креирајте једноставну нову базу података
Следећи упит креира нови Цивил_Индустри База података на СКЛ серверу:
CREATE Database Industry;
Корак 2: Креирајте нову табелу
Следећи упит креира Воркер_Инфо сто у Цивил_Индустри База података:
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: Убаците вредности
Следећи ИНСЕРТ упити убацују записе радника у табелу Воркер_Инфо:
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: Прегледајте податке табеле
Следећи упит приказује податке табеле Воркер_Инфо.
SELECT * FROM Worker_Info;
Воркер_ИД | Воркер_Наме | Воркер_Гендер | Воркер_Аге | Воркер_Аддресс | Воркер_Плата |
---|---|---|---|---|---|
1001 | медвед | Мушки | 18 | Агра | 35000 |
1002 | Булбул | Женско | 18 | Луцкнов | 42000 |
1004 | Саурабх | Мушки | двадесет | Луцкнов | 45000 |
1005 | Схивани | Женско | 18 | Агра | 28000 |
1006 | Авинасх | Мушки | 22 | Делхи | 38000 |
1007 | Схиам | Мушки | 18 | Бангалор | 20000 |
Корак 4: Користите НОТ ИН оператор
Следећи упит користи НОТ ИН оператор са нумеричким подацима:
SELECT * FROM Worker_Info WHERE Worker_salary NOT IN (35000, 28000, 38000);
Овај СЕЛЕЦТ упит приказује све оне раднике у излазу чија плата није прослеђена у НОТ ИН оператору.
Резултат горње изјаве је приказан у следећој табели:
Воркер_ИД | Воркер_Наме | Воркер_Гендер | Воркер_Аге | Воркер_Аддресс | Воркер_Плата |
---|---|---|---|---|---|
1002 | Булбул | Женско | 18 | Луцкнов | 42000 |
1004 | Саурабх | Мушки | двадесет | Луцкнов | 45000 |
1007 | Схиам | Мушки | 18 | Бангалор | 20000 |
Следећи упит користи логички оператор НОТ ИН са вредностима знакова или текста:
SELECT * FROM Worker_Info WHERE Worker_Address NOT IN (Lucknow, Delhi);
Овај упит приказује запис свих оних радника чија адреса није прослеђена у НОТ ИН оператору.
низ објеката јава
Излаз:
Воркер_ИД | Воркер_Наме | Воркер_Гендер | Воркер_Аге | Воркер_Аддресс | Воркер_Плата |
---|---|---|---|---|---|
1001 | медвед | Мушки | 18 | Агра | 35000 |
1005 | Схивани | Женско | 18 | Агра | 28000 |
1007 | Схиам | Мушки | 18 | Бангалор | 20000 |