Вступ до пункту WHERE
Як ми всі знаємо, що 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;
Тут Оновлення оновить значення для імені стовпця, якщо вказано умову.
Оператори порівняння та логіки також можуть використовуватися з умовою WHERE, як, або, ні, LIKE, <, = тощо.
3. Синтаксис із DELETE
DELETE from table_name WHERE condition;
У наведеному вище синтаксисі:
Таблиця_ім'я | Назва таблиці, над якою необхідно виконати операції. |
стан | Визначає стан фільтра, за яким записи потрібно фільтрувати |
стовпець | Назва стовпців таблиці |
Приклади
Розглянемо таблицю учнів, що мають різні стовпці та значення, зазначені нижче:
Stu_id | Stu_name | Студентська адреса | Сту_фно | Stu_percentage |
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
Stu_id | Stu_name | Студентська адреса | Stu_percentage |
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
Stu_id | Stu_name | Студентська адреса | Stu_percentage |
1 | Рахул | Агра | 87 |
Сценарій №3
Учень Анкіт покинув школу, тому видаліть із нього весь запис про нього.
Запит
DELETE from students WHERE Stu_name = 'Ankit';
Результат:
Зачеплені рядки: 1
Щоб переглянути оновлений студент таблиці:
Запит
SELECT * from students;
Результат:
Зачеплені рядки: 2
Stu_id | Stu_name | Студентська адреса | Сту_фно | Stu_percenta ge |
1 | Рахул | Агра | 9557806625 | 87 |
3 | Шайлендра | Ноїда | 7213457896 | 92 |
ДЕ ЗАДАЧА Операції
У пункті 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 = 'Рахул'; |
6. | > | Більш чим | ВИБІР * від студентів, де СТУ_перценз> 80; |
7. | < | Менше ніж | ВИБІР * від студентів, де Студент <78; |
8. | > = | Більший або рівний | ВИБІРТЕ * від студентів, де СТУ_перцентраж> = 70; |
9. | <= | Менше або рівне | ВИБІР * від учнів, де СТУ_перцентраж <= 70; |
10. | Не дорівнює | ВИБІРУЙТЕ * від студентів, де Студент 75; | |
11. | МІЖ | Значення лежить між певним діапазоном | ВИБІРТЕ * від студентів, де
Stu_percenttage МЕЖ 70 ТА 85; |
12. | ПОДОБАЄТЬСЯ | Значення відповідають певній схемі. Застосовується для пошуку підстановок | ВИБІР * від студентів, де Stu_city ПОДОБАЄТЬСЯ 'AG%'; |
Примітка: Є одна річ, яку потрібно пам’ятати під час роботи з пунктом WHERE, це те, що, визначаючи умову, числові значення не цитуються в одиничних лапках (''), тоді як текстові значення (varchar) потрібно цитувати в одиничному лапки ('').
Як працює пункт WHERE у SQL?
Хоча вищенаведені приклади чітко показують, як пункт WHERE використовується для фільтрації даних відповідно до умови, визначеної користувачем, і дозволяє швидше виконувати SQL-код, оскільки кількість повернених записів обмежується умовою. Оптимізатор запитів SQL працює спочатку над запитом, використовуючи FROM (таблиця, над якою потрібно виконати операцію), щоб отримати, видалити або оновити, а потім застосувати пункт WHERE до результатів.
Пункт WHERE може бути використаний лише тоді, коли нам потрібно фільтрувати результати в одній таблиці або приєднанні таблиць, коли вона працює на даних рядків, але коли у випадку функцій агрегатування WHERE не можна використовувати для застосування умов до запиту.
Розглянемо сценарій, де пункт WHERE не може бути використаний:
Сценарій: У таблиці «фільми» знайдіть усі подробиці фільмів, які за певні роки заробляють більше 10 крор (наприклад, 2000, 2010, 2012 … тощо)
Запит:
SELECT * from movies GROUP BY Year_released HAVING earnings > 10;
У наведеному вище прикладі використовується пункт HAVING замість WHERE, тому що WHERE пропозиція не може бути використана в сукупних функціях, тоді як HAVING може, і це також є однією з головних відмінностей між пунктом WHERE і HAVING
Висновок - пункт SQL WHERE
Наведене вище пояснення чітко показує використання пункту WHERE та його реалізацію для різних сценаріїв у SQL-запитах. Перш ніж писати будь-який запит, потрібно пам’ятати про використання кожного пункту та сценарій, у якому саме цей пункт чи ключове слово слід використовувати.
Рекомендовані статті
Це посібник із пункту SQL WHERE. Тут ми обговорюємо використання пункту WHERE та його реалізацію для різних сценаріїв. Ви також можете ознайомитися з іншими запропонованими нами статтями -
- Типи об'єднань у SQL
- Шаблони в MySQL
- SQL Insert Query
- Іноземний ключ у SQL
- Топ 6 типів приєднань до MySQL з прикладами