Можно ли оптимизировать запрос с LIKE - MySQL

Узнай цену своей работы

Формулировка задачи:

Вот есть такой запрос:
SELECT *
FROM TABLE
WHERE Address NOT LIKE '%Москва%' AND Address NOT LIKE '%МО%' AND Address NOT LIKE '%Моско%'
Можно ли как то его оптимизировать к примеру через IN? Заранее благодарю.

Решение задачи: «Можно ли оптимизировать запрос с LIKE»

textual
Листинг программы
SELECT *
FROM TABLE
WHERE LOWER(Address) NOT LIKE '%моск%' AND Address NOT LIKE '%МО%'

Объяснение кода листинга программы

В данном коде выполняется запрос к таблице TABLE с условием, что поле Address не содержит в нижнем регистре слово моск и не содержит в верхнем регистре слово МО.

  1. SELECT * - выбираются все поля из таблицы TABLE.
  2. FROM TABLE - указывается название таблицы, к которой выполняется запрос.
  3. WHERE LOWER(Address) NOT LIKE '%моск%' AND Address NOT LIKE '%МО%' - задается условие для выборки, которое состоит из двух частей:
    • LOWER(Address) NOT LIKE '%моск%' - поле Address в нижнем регистре не должно содержать слово моск.
    • Address NOT LIKE '%МО%' - поле Address не должно содержать в верхнем регистре слово МО.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5