Поиск текстовых данных по шаблону
В данной части мы рассмотрим поиск текстовых данных по шаблону с помощью предложения where и оператора LIKE.
Оператор сравнения на равенство ( = ) помогает выбрать одинаковые строки. Таким образом, чтобы перечислить имена сотрудников, которых зовут Иван, можно воспользоваться следующим оператором SELECT.
select f_name, l_name from employee_data where f_name = "Иван";Результат запроса приведен на рис. 5.12.
Рис. 5.12.Результат поиска сотрудников, которых зовут Иван
Как быть, если надо вывести данные о сотрудниках, имя которых начинается с буквы В? Язык SQL позволяет выполнить поиск строковых данных по шаблону. Для этого в предложенииwhere используется оператор LIKE следующим образом.
select f_name, l_name from employee_data where f_name LIKE "В%";Результат запроса приведен на рис. 5.13.
Рис. 5.13.Результат поиска сотрудников, имя которых начинается с буквы В
Можно видеть, что здесь в условии вместо знака равенства используется LIKE и знак процента в шаблоне.
Знак % действует как символ-заместитель (аналогично использованию * в системах DOS и Linux). Он заменяет собой любую последовательность символов. Таким образом "В%" обозначает все строки, которые начинаются с буквы В. Аналогично "%В" выбирает строки, которые заканчиваются символом В, а "%В%" строки, которые содержат букву В.
Давайте выведем, например, всех сотрудников, которые имеют в названии должности строку "про".
select f_name, l_name, title from employee_datawhere title like '%про%';Результат запроса приведен на рис. 5.14.
Рис. 5.14.Результат поиска сотрудников, в названии должности которых содержится строка "про"
Перечислим всех сотрудников, имена которых заканчиваются буквой 'а'. Это очень просто сделать.
mysql> select f_name, l_name from employee_datawhere f_name like '%a';Результат запроса приведен на рис. 5.15.
Рис. 5.15.Результат поиска сотрудников, имена которых заканчиваются буквой 'а'
Дата добавления: 2015-05-19; просмотров: 637;