MYSQL. Выборка данных из БД, в которых поле не содержит строку


Делаем запрос в Mysql БД(базу данных) и получаем данные, поле которых не содержит указанную строку.

Для того, чтобы получить данные из БД, в которых отсутствует некая указанная строка, можно воспользоваться условием WHERE с использованием оператора NOT LIKE.
Оператор LIKE - сравнивает строки по маске. В маске можно использовать спецсимволы % и _.

  • % - любое кол-во символов. Пример: Маска - %про%, соответствует строкам "Проверка", "Просто", "Опровержение", но не соответствует строке "Прилег".
  • _ - один символ. Пример: Маска - _аска, соответствует строкам "Маска", "Каска", "Ласка", но не соответствует строке "Краска" и не соответствует "Таскать".

Соответственно, используя оператор NOT перед LIKE, запрос будет делать выборку данных, где поля не содержат строки, указанные в маске оператора LIKE.

Пример запроса:
SELECT * FROM my_db WHERE title NOT LIKE 'Привет %'

Данным запросом мы запрашиваем данные по всем колонкам таблицы my_db, где колонка title не должна начинаться со слова "Привет" и при его наличии не должна иметь продолжения.
В данной статье для примера приведен только один спецсимвол. Для построения требуемого запроса вам необходимо манипулировать комбинациями спецсимволов и требуемой маской.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.