Не очень-то и like
Новички MySQL обычно склонны использовать оператор LIKE сплошь и рядом, т.к. на первый взгляд кажется, что он решает все проблемы при создании сложных запросов, позволяя использовать в таких операторах групповые символы. Эта картина несколько обманчива: не умаляя достоинств оператора LIKE, который позволят отыскивать записи по фрагментам, можно со всей определенностью сказать, что его использование без предварительной проработки запроса и соответствующего индексирования приводит к существенной деградации производительности системы (т.к. для построения результирующего набора запросу потребуется просматривать всю таблицу целиком). Поэтому при использовании запроса, содержащего оператор LIKE, рекомендуется, чтобы все указанные в предложении WHERE столбцы были проиндексированы и чтобы предложение WHERE содержало достаточно данных для ограничения числа просматриваемых столбцов. 

Поиск шаблонов
Регулярные выражения еще известные в программистских кругах как regex, представляют собой мощный инструмент, используемый при поиске по шаблону и замене. Они зачастую ассоциируются почти со всем инструментарием, базирующимся на *ШХ-технологиях включая такие редакторы, как vi, такие языки написания сценариев, как Perl и PHP, такие программы оболочек, как awk и sed1.
Регулярные выражения позволяют создавать шаблоны с использованием набора специальных символов. В зависимости от наличия или отсутствия соответствия, предпринимаются различные действия и выполняется соответствующий программный код.
Регулярное выражение состоит из комбинации регулярных символов и специальных метасимволов, определяющих сам искомый шаблон. Например, по регулярному выражению *hell будут найдены слова, начинающиеся с hell, - hello и hellhound, но не shell, а регулярное выражение Wil будет соответствовать словам Winnie, Wimpy, Wilson и William, но не Wendy или Wolf.
Добавление логического оператора NOT инвертирует поведение оператора REGEXP, возвращая при обнаружении соответствия значение "ложь".
Операторы сравнения
1 Данные получены из статьи "So What's A $#!%% Regular Expression, Anyway?!" http-.// www.melonfire.com/community/columns/trog/arcticle.php?id=2. К сожалению, на момент издания этой книги, данный адрес оказался недоступным. - Примеч. пер.
Операторы сравнения
Давайте посмотрим, как эти операторы работают в реальной ситуации. Рассмотрим следующую таблицу MySQL, в которой хранятся собранные за двухлетний период данные о семи скаковых лошадях.
Операторы сравнения
Сейчас вы убедитесь в том, что операторы сравнения MySQL можно использовать для получения из имеющихся данных достаточно интересных выводов. Например, можно получить перечень всех лошадей, которые принимали участие более чем в 50 скачках.
Операторы сравнения
Операторы сравнения
Операторы сравнения