Часто вам нужно несколько условных фильтров в предложении WHERE, чтобы настроить таргетинг на определенные строки данных. Продолжайте читать этот пост в блоге и узнайте, как использовать логический оператор AND в запросах с предложением WHERE

Получите копию моей электронной книги 10 советов по MySQL для всех, когда подпишитесь на информационный бюллетень OpenLampTech.

Практические данные

Для практических запросов в этом посте я использую таблицу категорий из известной базы данных Sakila:

SELECT *
FROM category;

MySQL И логический оператор

Использование логического оператора AND в предложении WHERE довольно просто. Просто разделите каждое отдельное условие, которое вы хотите протестировать, с помощью ключевого слова AND.

См. этот пример запроса:

Зная, какие данные присутствуют в таблице «категория», как вы думаете, сколько строк вернет этот запрос?

Давайте посмотрим…

Строки не возвращаются. Нуль…

Вот почему…

В этом предложении WHERE есть 2 условных оператора, разделенных ключевым словом AND:

  • ид_категории = 2
  • имя = 'Комедия'

Чтобы в этом запросе SELECT была возвращена любая строка, значение столбца «category_id» должно быть равно 2, а значение столбца «name» должно быть равно «Comedy».

Да, есть строка со значением столбца «category_id» 2. Также есть строка со значением столбца «name» «Комедия».

Однако они не находятся в одном и том же (или в одном ряду).

Таким образом, вы должны понимать, что при использовании логического оператора AND каждое условное выражение, разделенное оператором AND, должно иметь значение TRUE, чтобы любая строка (строки) была включена в возвращаемый результат. набор.

Давайте посмотрим, как это выглядит на примере этого запроса SELECT:

Это единственная строка в таблице 'category', в которой значение столбца 'category_id' равно 2 (равно TRUE) и значение столбца 'name' равно 'Анимация ' (также оценивается как TRUE).

Несколько логических операторов AND в предложении WHERE

Вы можете абсолютно точно включать несколько логических операторов AND в предложение WHERE. Как показано в следующем примере запроса, теперь у меня проверяются 3 условия:

Опять же, каждый условный тест должен оцениваться как TRUE, чтобы строка была включена в возвращаемые результаты запроса:

Если какой-либо из условных тестов оценивается как FALSE, строка не будет включена:

В этом конкретном запросе условные операторы category_id = 2 и name = ‘Animation’ оцениваются как TRUE.

Но условное DATE(last_update) = ‘2006–02–14’ оценивается как FALSE. Поэтому из этого запроса не возвращаются строки.

Ознакомьтесь со статьями премиум-класса, подробными руководствами, обучающими видеороликами и многим другим, присоединившись к членству «Уровень обучения MySQL». У вас есть доступ к эксклюзивному контенту, неопубликованному где-либо еще с этим членством. Поскольку новый контент регулярно добавляется, продолжайте изучать MySQL на любом уровне.

Изучай MySQL!

Использование логического оператора AND в предложении WHERE позволяет накладывать сверхспецифические ограничения на то, какие строки возвращаются или какие строки являются целевыми в запросе.

Рекомендуемое чтение

Посетите любой из этих постов в блоге, чтобы узнать больше о том, как использовать MySQL:

Я ценю, что вы читаете мой контент. Поддержите меня сегодня советом, если хотите. Спасибо! 🙏🏻

Нравится то, что вы прочитали? Видите что-нибудь неправильное? Пожалуйста, прокомментируйте ниже и спасибо за чтение!

Призыв к действию!

Спасибо, что нашли время, чтобы прочитать этот пост. Я искренне надеюсь, что вы открыли для себя что-то интересное и поучительное. Пожалуйста, поделитесь своими выводами здесь с кем-то из ваших знакомых, кто также получит от этого такую ​​же пользу.

Посетите Страницу портфолио-проектов, чтобы увидеть сообщения в блоге/технические статьи, которые я написал для клиентов.

Кофе — мой любимый напиток!

Чтобы получать уведомления по электронной почте (никогда не спамить) из этого блога (Проза цифровой совы) о последних сообщениях в блоге по мере их публикации, подпишитесь (по собственному желанию), нажав кнопку Нажмите, чтобы подписаться! на боковой панели. домашняя страница! (Не стесняйтесь в любое время просмотреть Страницу политики конфиденциальности Digital Owl’s Prose по любым вопросам, которые могут у вас возникнуть: обновления по электронной почте, подписка, отказ, контактные формы и т. д.)

Обязательно посетите страницу Лучшее из для коллекции моих лучших постов в блоге.

Джош Отвелл страстно желает учиться и расти как разработчик SQL и блоггер. Другие любимые занятия заставят его уткнуться носом в хорошую книгу, статью или командную строку Linux. Среди них он разделяет любовь к настольным ролевым играм, чтению фантастических романов и проведению времени с женой и двумя дочерьми.

Отказ от ответственности: примеры, представленные в этом посте, являются гипотетическими идеями о том, как достичь подобных результатов. Это не самое лучшее решение(я). Большинство, если не все, представленные примеры выполняются в среде рабочей станции для персональной разработки/обучения и не должны рассматриваться как качественные или готовые к использованию. Ваши конкретные цели и потребности могут отличаться. Используйте те методы, которые лучше всего подходят для ваших нужд и целей. Мнения мои собственные.

Чем я могу вам помочь?

Раскрытие информации. Некоторые ссылки на услуги и продукты в этом сообщении являются партнерскими ссылками. Без каких-либо дополнительных затрат для вас, если вы совершите покупку, нажав на один из них, я получу комиссию.

Получите копию моей электронной книги 10 советов по MySQL для всех, абсолютно бесплатно, когда подпишитесь на информационный бюллетень OpenLampTech.

Первоначально опубликовано на https://joshuaotwell.com 11 мая 2022 г.