Увод у клаузулу ГДЈЕ
Као што сви знамо да је СКЛ (структурирани језик упита) један од најчешће коришћених језика за релацијске базе података (база података у којој се записи спремају у облику редова и ступаца). У СКЛ упитима се активира база података за обављање жељених операција било да су то ДМЛ (језик управљања подацима), ДДЛ (језик дефиниције података) или ДЦЛ (језик контроле података). СКЛ користи неке клаузуле попут ВХЕРЕ, ГРОУП БИ, ХАВИНГ, ОРДЕР БИ које изводе одређене операције. Клаузула ВХЕРЕ користи се за примену услова и филтрирање резултата док преузима или манипулира било којим подацима из базе података. Користи се са изјавом СЕЛЕЦТ, УПДАТЕ и ДЕЛЕТЕ, а клаузула ВХЕРЕ није обавезна да се користи са њима.
Опћенито, услови, ГДЈЕ клаузула,
- Користи се за филтрирање редова према датим критеријумима.
- Ограничава број враћених редова.
- Следи логично стање које враћа истину или лаж.
- Дјелује само ако се наведени увјет врати истинитим.
- Може се користити са изјавама СЕЛЕЦТ, УПДАТЕ или ДЕЛЕТЕ.
1. Синтакса са СЕЛЕЦТ
SELECT column1, column2, column3… from table_name WHERE condition;
Овде СЕЛЕЦТ ће дохватити све податке ступца1, ступца2, ступца3 из табеле (названог као име табеле), а клаузула ВХЕРЕ примењује услове на податке дохваћене изјавом СЕЛЕЦТ и филтрира је у складу са условима наведеним у изјави.
2. Синтакса са УПДАТЕ
UPDATE table_name SET column_name = value WHERE condition;
Овде Ажурирање ће ажурирати вредност за име колоне са датим када је услов.
Оператори за поређење и логички оператери се такође могу користити са условима ВХЕРЕ као и, или, не, ЛИКЕ, <, = итд.
3. Синтакса са ДЕЛЕТЕ
DELETE from table_name WHERE condition;
У горњој синтакси:
табле_наме | Назив табеле на којој је потребно извести операције. |
стање | Одређује стање филтра по којем је потребно филтрирати записе |
колона_лист | Назив ступаца табеле |
Примери
Размотрите табелу са студентима који имају различите ступце и вредности наведене у наставку:
Сту_ид | Сту_наме | Сту_аддресс | Сту_пхно | Сту_перцентаге |
1 | Рахул | Агра | 9557806625 | 85 |
2 | Анкит | Делхи | 8855664471 | 75 |
3 | Схаилендра | Ноида | 7213457896 | 92 |
Сценариј бр. 1
Дохвати ид ученика, име студента, адресу и проценат свих оних ученика који су постигли више од 80 одсто.
Упит
SELECT Stu_id, Stu_name, Stu_address from students WHERE Stu_percentage > 80;
Резултат:
Број записа: 2
Сту_ид | Сту_наме | Сту_аддресс | Сту_перцентаге |
1 | Рахул | Агра | 85 |
3 | Схаилендра | Ноида | 92 |
Сценариј бр. 2
Ажурирајте проценат Рахул-а за 2 процента.
Упит
UPDATE students SET Stu_percentage = Stu_percentage+2 WHERE Stu_name ='Rahul';
Резултат:
Повезани редови: 1
Ако погодимо упит да видимо ажурирана поља:
Упит
SELECT * from students WHERE Stu_name ='Rahul';
Резултат:
Број записа: 1
Сту_ид | Сту_наме | Сту_аддресс | Сту_перцентаге |
1 | Рахул | Агра | 87 |
Сценариј бр. 3
Ученик Анкит је напустио школу, па избриши читав спис о њему са стола.
Упит
DELETE from students WHERE Stu_name = 'Ankit';
Резултат:
Повезани редови: 1
Да бисте погледали ажурирани ученик стола:
Упит
SELECT * from students;
Резултат:
Повезани редови: 2
Сту_ид | Сту_наме | Сту_аддресс | Сту_пхно | Сту_перцента ге |
1 | Рахул | Агра | 9557806625 | 87 |
3 | Схаилендра | Ноида | 7213457896 | 92 |
ГДЈЕ клаузула Операције
Клаузула ВХЕРЕ садржи услове по којима се вредности базе података филтрирају. Различити оператори се могу користити са ВХЕРЕ клаузулом. Неки од њих су дати у табели испод са примером:
С.Но. | Оператор | Опис | Пример |
1. | И | Враћа тачно ако се оба услова подударају | ОДАБИР * од студената ВХЕРЕ Сту_наме = 'Рахул' и Сту_перцентаге = 85; |
2 | ИЛИ | Враћа тачно ако је било који од
стање одговара | ОДАБИР * од студената ВХЕРЕ Сту_наме = 'Рахул' или Сту_наме = 'Схалендра'; |
3. | ИН | Вриједност одговара било којој од више наведених вриједности | ОДАБИР * од студената ГДЈЕ Сту_цити ИН ('АГРА', 'НОИДА'); |
4. | НЕ У | Вриједност не одговара ниједној од наведених више вриједности | ОДАБИР * од студената ГДЈЕ Сту_цити НОТ ИН ('АГРА', 'НОИДА'); |
5. | = | Једнако | ОДАБИР * од студената ГДЈЕ
Сту_наме = 'Рахул'; |
6 | > | Веће од | СЕЛЕЦТ * од студената ГДЈЕ Сту_перцентаге> 80; |
7. | < | Мање од | ОДАБИР * од студената ГДЕ Сту_перцентаге <78; |
8 | > = | Већи или једнак | ИЗБОР * од студената ГДЈЕ Сту_перценетаге> = 70; |
9. | <= | Мање од или једнако | ОДАБИР * од студената ГДЈЕ Сту_перценетаге <= 70; |
10. | Није једнако | ОДАБИР * од студената ГДЕ Сту_перцентаге 75; | |
11. | ИЗМЕЂУ | Вредност лежи између одређеног распона | ОДАБИР * од студената ГДЈЕ
Сту_перценттаге ИЗМЕЂУ 70 И 85; |
12. | КАО | Вриједности одговарају одређеном обрасцу. Користи се за претрагу замјенских знакова | ОДАБИР * од студената ГДЈЕ Сту_цити ЛИКЕ 'АГ%'; |
Напомена: Постоји једна ствар на коју треба имати на уму током рада са клаузулом ВХЕРЕ, да се приликом спецификације стања Нумеричке вредности не наводе у једном наводнику ('') док текст вредности (варцхар) морају бити цитиране у једном цитати ('').
Како ВХЕРЕ клаузула функционише у СКЛ-у?
Иако горњи примери јасно показују како се ВХЕРЕ клаузула користи за филтрирање података према стању које је одредио корисник и омогућава брже извршавање СКЛ кода јер је број враћених записа ограничен условом. СКЛ Куери Оптимизатор прво ради на упиту помоћу ФРОМ (табеле у којој се операција мора извести) да би дохватио, избрисао или ажурирао, а затим примените клаузулу ВХЕРЕ на резултате.
ГДЈЕ се клаузула може користити само када требамо филтрирати резултате у једној табели или спајању таблица јер функционише на подацима о редовима, али када се у случају функција обједињавања, ГДЈЕ се не може користити за примјену услова на упит.
Размотримо сценарио где се ГДЕ клаузула не може користити:
Сценариј: У таблици „филмова“ пронађите све детаље филмова који зарађују више од 10 круна у одређеним годинама попут (2000, 2010, 2012..етц)
Упит:
SELECT * from movies GROUP BY Year_released HAVING earnings > 10;
Горњи пример користи клаузу ХАВИНГ уместо ГДЕ, јер се ВХЕРЕ клаузула не може користити у збирним функцијама, док ХАВИНГ може, а ово је такође једна од главних разлика између ВХЕРЕ и ХАВИНГ клаузуле
Закључак - СКЛ ВХЕРЕ клаузула
Горе наведено објашњење јасно показује употребу ВХЕРЕ клаузуле и њену имплементацију за различите сценарије у СКЛ упитима. Прије писања било којег упита, морате имати на уму употребу сваке клаузуле и сценариј у којем се та одредба или кључна ријеч требају користити.
Препоручени чланци
Ово је водич за СКЛ ВХЕРЕ клаузулу. Овде смо расправљали о употреби класе ВХЕРЕ и њеној примени за различите сценарије. Можете и да прођете кроз друге наше предложене чланке -
- Врсте придруживања у СКЛ-у
- Вилдцардс у МиСКЛ-у
- СКЛ Инсерт Куери
- Страни кључ у СКЛ-у
- Топ 6 врста придруживања у МиСКЛ-у са примерима