Въведение в клаузата КЪДЕ

Както всички знаем, че SQL (Structured Query Language) е един от най-често използваните езици за релационни бази данни (база данни, в която записите се записват под формата на редове и колони). В SQL запитванията се задействат, за да се удари в базата данни за извършване на желаните операции, било то DML (език за манипулиране на данни), DDL (език за дефиниране на данни) или DCL (език за контрол на данните). SQL използва някои клаузи като WHERE, GROUP BY, HAVING, ORDER BY, които извършват конкретни операции. Клаузата WHERE се използва за прилагане на условия и филтриране на резултатите, докато извлича или манипулира всички данни от базата данни. Използва се с оператора SELECT, UPDATE и DELETE, като клаузата WHERE не е задължителна за използване с тях.

Като цяло, условия, КЪДЕ клауза,

  • Използва се за филтриране на редовете според дадените критерии.
  • Ограничава броя върнати редове.
  • Следва логично условие, което връща или вярно, или невярно.
  • Работи само ако споменатото условие върне вярно.
  • Може да се използва с оператори SELECT, UPDATE или DELETE.

1. Синтаксис със SELECT

SELECT column1, column2, column3… from table_name WHERE condition;

Тук SELECT ще извлече всички данни от колона1, колона2, колона3 от таблицата (наречена като име на таблица), а клаузата WHERE прилага условията към данните, извлечени от оператора SELECT и филтрира това според условието, споменато в оператора.

2. Синтаксис с UPDATE

UPDATE table_name SET column_name = value WHERE condition;

Тук Update ще актуализира стойността за името на колона с предоставено, когато условие.

Сравнителните и логическите оператори също могат да се използват с условието WHERE като и или, не, LIKE, <, = и т.н.

3. Синтаксис с DELETE

DELETE from table_name WHERE condition;

В горния синтаксис:

таблица_имеИме на таблицата, върху която трябва да се извършват операции.
състояниеПосочва състоянието на филтъра, по което трябва да се филтрират записи
column_listИме на колоните на таблицата

Примери

Помислете за таблица на учениците с различни колони и стойности, споменати по-долу:

Stu_idStu_nameStu_addressStu_phnoStu_percentage
1РахулАгра955780662585
2AnkitДелхи885566447175
3ShailendraНойда721345789692

Сценарий №1

Извличане на идентификатор на ученик, име на студент, адрес и процент от всички онези студенти, които са получили повече от 80 процента.

Запитване

SELECT Stu_id, Stu_name, Stu_address from students WHERE Stu_percentage > 80;

Резултат:

Брой записи: 2

Stu_idStu_nameStu_addressStu_percentage
1РахулАгра85
3ShailendraНойда92

Сценарий №2

Актуализирайте процента на Рахул с 2 процента.

Запитване

UPDATE students SET Stu_percentage = Stu_percentage+2 WHERE Stu_name ='Rahul';

Резултат:

Засегнати редове: 1

Ако натиснете заявката, за да видите актуализираните полета:

Запитване

SELECT * from students WHERE Stu_name ='Rahul';

Резултат:

Брой записи: 1

Stu_idStu_nameStu_addressStu_percentage
1РахулАгра87

Сценарий №3

Ученикът Анкит напусна училището, така че изтрийте целия запис на него от таблицата.

Запитване

DELETE from students WHERE Stu_name = 'Ankit';

Резултат:

Засегнати редове: 1

За да видите актуализирания ученик на таблицата:

Запитване

SELECT * from students;

Резултат:

Засегнати редове: 2

Stu_idStu_nameStu_addressStu_phnoStu_percenta ge
1РахулАгра955780662587
3ShailendraНойда721345789692

КЪДЕ клауза Операции

Клаузата WHERE съдържа условията, по които се филтрират стойностите на базата данни. С клаузата WHERE могат да се използват различни оператори. Някои от тях са дадени по-долу в таблицата с пример:

S.No.Операторописаниепример
1.ИВръща истина, ако и двете условия съвпадатИЗБЕРЕТЕ * от студенти WHERE Stu_name = 'Rahul' и Stu_percentage = 85;
2.ИЛИВръща истина, ако някой от

условие съответства

ИЗБЕРЕТЕ * от учениците WHERE Stu_name = 'Rahul' или Stu_name = 'Shalendra';
3.ПОСтойността съвпада с която и да е от посочените множество стойностиИЗБЕРЕТЕ * от ученици, КЪДЕ Stu_city IN ('AGRA', 'NOIDA');
4.НЕ ВСтойността не съвпада с нито една от множеството посочени стойностиИЗБЕРЕТЕ * от ученици, КЪДЕ Stu_city НЕ В (AGRA ', ' NOIDA ');
5.=равенИЗБЕРЕТЕ * от студенти КЪДЕ

Stu_name = 'Rahul;

6.>По-голям отИЗБЕРЕТЕ * от ученици, КЪДЕ Stu_percentage> 80;
7.<По-малко отИЗБЕРЕТЕ * от ученици, КЪДЕ Stu_percentage <78;
8.> =По-голям или равен наИЗБЕРЕТЕ * от ученици, ГДЕ Stu_percenetage> = 70;
9.<=По-малко или равно наИЗБЕРЕТЕ * от учениците, КЪДЕ Stu_percenetage <= 70;
10.Не е равно наИЗБЕРЕТЕ * от ученици, КЪДЕТО Stu_percentage 75;
11.мЕЖДУСтойността се намира между определен диапазонИЗБЕРЕТЕ * от студенти КЪДЕ

Stu_percenttage МЕЖДУ 70 И 85;

12.КАТОСтойностите съответстват на определен модел. Използва се за търсене на заместващи символиИЗБЕРЕТЕ * от студенти, КЪДЕ Stu_city ПОДОБРЯВА 'AG%';

Забележка: Има едно нещо, което трябва да се има предвид, когато се работи с клаузата WHERE е, че докато посочвате условието, числовите стойности не се цитират в единични кавички (''), докато текстовите стойности (varchar) трябва да бъдат цитирани в единични кавички ('').

Как работи клаузата WHERE в SQL?

Въпреки че горните примери ясно показват как клаузата WHERE се използва за филтриране на данните според условието, посочено от потребителя, и позволява по-бързото изпълнение на SQL код, тъй като броят на върнатите записи е ограничен от условието. SQL Query оптимизаторът работи първо на заявката, използвайки FROM (таблица, над която трябва да се извърши операция), за да извлече, изтрие или актуализира и след това да приложи клаузата WHERE към резултатите.

Клаузата WHERE може да се използва само когато трябва да филтрираме резултатите в една таблица или обединяване на таблици, тъй като тя работи на данни от редове, но когато в случай на функции агрегиране, WHERE не може да се използва за прилагане на условия към заявката.

Нека разгледаме сценария, при който клаузата WHERE не може да се използва:

Сценарий: В таблицата с филми извлечете всички подробности за филмите, които печелят повече от 10 крори за определени години като (2000, 2010, 2012..etc)

Запитване:

SELECT * from movies GROUP BY Year_released HAVING earnings > 10;

Горният пример използва клавиша HAVING вместо WHERE, тъй като клаузата WHERE не може да се използва в съвкупните функции, докато HAVING може и това е също една от основните разлики между клавиша WHERE и HAVING

Заключение - клауза за SQL WHERE

Горното обяснение ясно показва използването на клаузата WHERE и нейната реализация за различни сценарии в SQL заявки. Преди да напишете някакво запитване, трябва да имате предвид използването на всяка клауза и сценария, при който тази конкретна клауза или ключова дума трябва да се използва.

Препоръчителни статии

Това е ръководство за клаузата за SQL WHERE. Тук обсъждаме използването на клаузата WHERE и нейното прилагане за различни сценарии. Можете да разгледате и другите ни предложени статии -

  1. Видове съединения в SQL
  2. Wildcards в MySQL
  3. SQL Insert Query
  4. Външен ключ в SQL
  5. Топ 6 вида съединения в MySQL с примери