Введение в раздел WHERE
Как все мы знаем, SQL (Structured Query Language) является одним из наиболее часто используемых языков для реляционных баз данных (база данных, в которой записи сохраняются в виде строк и столбцов). В запросах SQL выполняется обращение к базе данных для выполнения требуемых операций, будь то операции DML (язык манипулирования данными), DDL (язык определения данных) или DCL (язык управления данными). SQL использует некоторые предложения, такие как WHERE, GROUP BY, HAVING, ORDER BY, которые выполняют определенные операции. Предложение WHERE используется для применения условий и фильтрации результатов при извлечении или обработке любых данных из базы данных. Он используется с инструкциями SELECT, UPDATE и DELETE, а предложение WHERE необязательно для использования с ними.
В общем, сроки, ГДЕ оговорка,
- Используется для фильтрации строк в соответствии с заданными критериями.
- Ограничивает количество возвращаемых строк.
- Затем следует логическое условие, которое возвращает либо true, либо false.
- Работает только если указанное условие возвращает true.
- Его можно использовать с инструкциями SELECT, UPDATE или DELETE.
1. Синтаксис с SELECT
SELECT column1, column2, column3… from table_name WHERE condition;
Здесь SELECT извлекает все данные column1, column2, column3 из таблицы (названной как table_name), а предложение WHERE применяет условия к данным, полученным с помощью инструкции SELECT, и фильтрует их в соответствии с условием, указанным в выражении.
2. Синтаксис с обновлением
UPDATE table_name SET column_name = value WHERE condition;
Здесь Update обновит значение для column_name с указанным условием where.
Операторы сравнения и логические операторы также могут использоваться с условием WHERE, например, и, или нет, LIKE, <, = и т. Д.
3. Синтаксис с DELETE
DELETE from table_name WHERE condition;
В приведенном выше синтаксисе:
table_name | Имя таблицы, над которой нужно выполнить операции. |
условие | Определяет условие фильтра, по которому необходимо фильтровать записи |
column_list | Наименование столбцов таблицы |
Примеры
Рассмотрим таблицу учеников с разными столбцами и значениями, указанными ниже:
Stu_id | Stu_name | Stu_address | Stu_phno | 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_address | 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_address | Stu_percentage |
1 | Рахул | Агра | 87 |
Сценарий № 3
Студент Анкит покинул школу, поэтому удалите всю его запись из таблицы.
запрос
DELETE from students WHERE Stu_name = 'Ankit';
Результат:
Пострадали строки: 1
Для просмотра обновленной таблицы ученик:
запрос
SELECT * from students;
Результат:
Пострадали строки: 2
Stu_id | Stu_name | Stu_address | Stu_phno | Stu_percenta ge |
1 | Рахул | Агра | 9557806625 | 87 |
3 | Шайлендра | Нойды | 7213457896 | 92 |
ГДЕ пункт Операции
Предложение WHERE содержит условия фильтрации значений в базе данных. Различные операторы могут использоваться с предложением WHERE. Некоторые из них приведены ниже в таблице с примером:
S.No. | оператор | Описание | пример |
1. | И | Возвращает true, если оба условия соответствуют | ВЫБЕРИТЕ * от студентов, ГДЕ Stu_name = 'Rahul' и Stu_percentage = 85; |
2. | ИЛИ | Возвращает true, если любой из
соответствие условий | ВЫБЕРИТЕ * от студентов, ГДЕ Stu_name = 'Rahul' или Stu_name = 'Shalendra'; |
3. | В | Значение соответствует любому из нескольких указанных значений | ВЫБЕРИТЕ * от студентов, ГДЕ Stu_city IN («АГРА», «НОИДА»); |
4. | НЕ В | Значение не соответствует ни одному из нескольких указанных значений | ВЫБЕРИТЕ * от студентов, ГДЕ Stu_city NOT IN ('AGRA', 'NOIDA'); |
5. | знак равно | равных | ВЫБЕРИТЕ * от студентов ГДЕ
Stu_name = 'Рахул'; |
6. | > | Больше чем | ВЫБЕРИТЕ * от студентов, ГДЕ Stu_percentage> 80; |
7. | < | Меньше, чем | ВЫБЕРИТЕ * от студентов, ГДЕ Stu_percentage <78; |
8. | > = | Больше или равно | ВЫБЕРИТЕ * от студентов, ГДЕ Stu_percenetage> = 70; |
9. | <= | Меньше или равно | ВЫБЕРИТЕ * от студентов, ГДЕ Stu_percenetage <= 70; |
10. | Не равно | ВЫБЕРИТЕ * от студентов, ГДЕ Stu_percentage 75; | |
11. | МЕЖДУ | Значение лежит между определенным диапазоном | ВЫБЕРИТЕ * от студентов ГДЕ
Stu_percentage МЕЖДУ 70 И 85; |
12. | НРАВИТЬСЯ | Значения соответствуют определенному шаблону. Используется для поиска по шаблону | ВЫБЕРИТЕ * от студентов, ГДЕ Stu_city LIKE 'AG%'; |
Примечание. При работе с предложением WHERE необходимо учитывать одну вещь: при указании условия числовые значения не заключаются в одинарные кавычки (''), тогда как текстовые значения (varchar) необходимо заключать в одинарные кавычки. цитаты (' ').
Как работает предложение WHERE в SQL?
Хотя приведенные выше примеры ясно показывают, как выражение WHERE используется для фильтрации данных в соответствии с условием, заданным пользователем, и позволяет быстрее выполнять код SQL, поскольку количество возвращаемых записей ограничено условием. Оптимизатор SQL-запросов сначала работает с запросом, используя FROM (таблица, над которой необходимо выполнить операцию), чтобы получить, удалить или обновить, а затем применить предложение WHERE к результатам.
Предложение WHERE может использоваться только тогда, когда нам нужно отфильтровать результаты в одной таблице или объединении таблиц, так как оно работает с данными строк, но в случае функций Aggregate 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 Вставить Запрос
- Внешний ключ в SQL
- 6 лучших типов соединений в MySQL с примерами