MySQL Предложение WHERE с примерами – AND, OR, IN, NOT IN

Что такое предложение WHERE?

Мы рассмотрели, как запрашивать данные из базы данных, используя инструкцию SELECT в предыдущем учебнике. Оператор SELECT вернул все результаты из таблицы базы данных запросов.

Тем не менее, это время, когда мы хотим ограничить результаты запроса указанным условием. Предложение SQL WHERE пригодится в таких ситуациях.

Предложение WHERE Синтаксис

Основной синтаксис для предложения WHERE при использовании в инструкции SELECT выглядит следующим образом.

ВОТ

  • “SELECT * FROM tableName” – это стандартный оператор SELECT
  • “WHERE” – это ключевое слово, которое ограничивает наш набор результатов выбора запроса, а ”условие” – это фильтр, который будет применяться к результатам. Фильтр может представлять собой диапазон, одно значение или дополнительный запрос.

Давайте посмотрим на практический пример .

Предположим, мы хотим получить личные данные участника из таблицы участников с указанием номера членства 1, для этого мы использовали бы следующий скрипт.

Выполнение вышеуказанного скрипта в workbench MySQL на “myflixdb” приведет к следующим результатам.

 

Количество членов полные имена Пол Дата рождения Физический адрес почтовый адрес contct_number Эл. адрес
1 Джанет Джонс женский 21-07-1980 Первый уличный участок № 4 Частная сумка 0759 253 542 janetjones@yagoo.cm

 

Предложение WHERE в сочетании с – AND LOGICAL Operator

Предложение WHERE при использовании вместе с логическим оператором AND выполняется только в том случае, если заданы ВСЕ критерии фильтра.

Давайте посмотрим на практический пример. Предположим, мы хотим получить список всех фильмов категории 2, выпущенных в 2008 году, мы будем использовать сценарий, показанный ниже, для достижения этого.

Выполнение вышеуказанного скрипта в workbench MySQL в отношении “myflixdb” дает следующие результаты.

movie_id заглавие директор year_released category_id
2 Забыть Сарра Маршала Николас Столлер 2008 2

 

Предложение WHERE в сочетании с – ИЛИ LOGICAL Operator

Предложение WHERE при использовании вместе с оператором OR выполняется только в том случае, если выполняется какой-либо или весь указанный критерий фильтра.

Следующий скрипт получает все фильмы в категории 1 или категории 2

Выполнение вышеуказанного скрипта в workbench MySQL в отношении “myflixdb” дает следующие результаты.

movie_id заглавие директор year_released category_id
1 Пираты Карибского моря 4 Роб Маршалл 2011 1
2 Забыть Сарра Маршала Николас Столлер 2008 2

 

Предложение WHERE в сочетании с ключом IN

Предложение WHERE при использовании вместе с ключевым словом IN влияет только на строки, значения которых соответствуют списку значений, указанным в ключе IN. IN помогает уменьшить количество предложений OR, которые могут вам понадобиться

Следующий запрос дает строки, где member_number – 1, 2 или 3

Выполнение вышеуказанного скрипта в workbench MySQL в отношении “myflixdb” дает следующие результаты.

 

Количество членов полные имена Пол Дата рождения Физический адрес почтовый адрес contct_number Эл. адрес
1 Джанет Джонс женский 21-07-1980 Первый уличный участок № 4 Частная сумка 0759 253 542 janetjones@yagoo.cm
2 Джанет Смит Джонс женский 23-06-1980 Melrose 123 НОЛЬ НОЛЬ jj@fstreet.com
3 Роберт Фил мужчина 12-07-1989 3-я улица 34 НОЛЬ 12345 rm@tstreet.com

 

Предложение WHERE в сочетании с – NOT IN Ключевое слово

Предложение WHERE при использовании вместе с ключевым словом NOT IN НЕ влияет на строки, значения которых соответствуют списку значений, указанным в ключе НЕ.

Следующий запрос дает строки, где member_number NOT 1, 2 или 3

Выполнение вышеуказанного скрипта в workbench MySQL в отношении “myflixdb” дает следующие результаты.

Количество членов полные имена Пол Дата рождения Физический адрес почтовый адрес contct_number Эл. адрес
4 Глория Уильямс женский 14-02-1984 Вторая улица 23 НОЛЬ НОЛЬ НОЛЬ

 

Предложение WHERE в сочетании с – СРАВНИТЕЛЬНЫМИ ОПЕРАТОРАМИ

Менее чем (), равное (=), не равное () операторам сравнения, можно использовать с предложением Where

= Равно

Следующий скрипт получает все члены-женщины из таблицы участников, используя оператор сравнения.

Выполнение вышеуказанного скрипта в workbench MySQL в отношении “myflixdb” дает следующие результаты.

Количество членов полные имена Пол Дата рождения Физический адрес почтовый адрес contct_number Эл. адрес
1 Джанет Джонс женский 21-07-1980 Первый уличный участок № 4 Частная сумка 0759 253 542 janetjones@yagoo.cm
2 Джанет Смит Джонс женский 23-06-1980 Melrose 123 НОЛЬ НОЛЬ jj@fstreet.com
4 Глория Уильямс женский 14-02-1984 Вторая улица 23 НОЛЬ НОЛЬ НОЛЬ

 

> Больше, чем

Следующий скрипт получает все платежи, превышающие 2000, из таблицы платежей.

Выполнение вышеуказанного скрипта в workbench MySQL в отношении “myflixdb” дает следующие результаты.

 

payment_id Количество членов PAYMENT_DATE описание amount_paid external_reference_number
1 1 23.07.2012 Оплата проката фильма 2500 11
3 3 30-07-2012 Оплата проката фильма 6000 НОЛЬ

 

<> Неравномерно

Следующий скрипт получает все фильмы с идентификатором категории не 1.

Выполнение вышеуказанного скрипта в workbench MySQL в отношении “myflixdb” дает следующие результаты.

 

movie_id заглавие директор year_released category_id
2 Забыть Сарра Маршала Николас Столлер 2008 2
5 Маленькие девочки папы НОЛЬ 2007 8
6 Ангелы и демоны НОЛЬ 2007 6
7 Давинский код НОЛЬ 2007 6
9 Медовые луны Джон Шульц 2005 8

 

Резюме

  • Предложение SQL WHERE используется для ограничения количества строк, затронутых запросами SELECT, UPDATE или DELETE.
  • Предложение WHERE может использоваться в сочетании с логическими операторами, такими как AND и OR, операторами сравнения, такими как: = и т. Д.
  • При использовании с логическим оператором AND все критерии должны быть выполнены.
  • При использовании с логическим оператором ИЛИ любой из критериев должен выполняться.
  • Ключевое слово IN используется для выбора строк, соответствующих списку значений.

Логические

Предположим, что мы хотим получить список арендованных фильмов, которые не были возвращены вовремя 24/06/2012. Мы можем использовать предложение WHERE вместе с меньшим, чем оператор сравнения, и логическим оператором AND для достижения этого.

Выполнение вышеуказанного скрипта в workbench MySQL дает следующие результаты.

REFERENCE_NUMBER Дата сделки Дата возврата Количество членов movie_id movie_returned
14 21-06-2012 24-06-2012 2 2 0

 

0 ответы

Ответить

Хотите присоединиться к обсуждению?
Не стесняйтесь вносить свой вклад!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *