Поиск по шаблону. SQL — это просто
Разберемся как искать в базе данных по LIKE SQL. Ищем строки начинающиеся, заканчивающиеся или просто содержащие заданный шаблон.
809 открытий4К показов
В предыдущей статье этой серии мы выучили ключевое слово WHERE (где) позволяющее выбирать из таблицы строки соответствующие условию или нескольким условиям сразу (союз AND) ну или хотя бы одному из (союз OR).
В условиях мы проверяли равенство или неравенство данных и некоторого значения. Если вы уже забыли – вернитесь и перечитайте.
Этот мини урок мы посвятим ещё одному варианту поиска применимому к строковым переменным – поиску по шаблону. Допустим нам нужно найти всех студентов по имени Илья. В этом случае мы не можем воспользоваться строгим равенством и если выполним следующий запрос то не получим ни одной строки.
Не верите – попробуйте сами здесь.
Дело в том что колонка name
нашей таблицы содержит и имя и фамилию студентов и правильно следует сформулировать следующий запрос: ВЫБРАТЬ имя, курс, оценку ИЗ студентов ГДЕ имя начинается со слова Илья. Чтобы перевести такой запрос на английский SQL нужно запомнить еще одно слово – LIKE (похож) и написать условие WHERE name LIKE ‘Илья%‘; То есть там где имя похоже на некоторый шаблон (в нашем случае ‘Илья%’).
Что означает знак % в шаблоне? Это обозначение того в колонке после слова Илья могут следовать любые символы в любом (даже нулевом) количестве.
Итак выполним запрос:
И получим следующий результат:
Как видите результат включает в себя записи о двух студентах пл имени Илья и одну с именем Ильяс, что полностью соответствует требованиям запроса.
Другой случай если нам нужны строки заканчивающиеся определённым набором букв. Например если мы используем шаблон ‘%ия’ для поиска по полю course
и выполним запрос:
В результате получим список историков и географов. Если не понятно почему это так – напишите в комментариях.
Если же мы используем шаблон ‘%ов%’ для поля name то получим список всех студентов в имени или фамилии которых встречается это буквосочетание в любом месте.
Таким образом в этом уроке мы познакомились с мощным инструментом языка SQL – поиском строк по шаблону.
Для закрепления выполните тесты тут и тут. В случае вопросов пишите комментарии и обращайтесь в телеграм.
Если не возникло вопросов по данной теме – переходите к следующему уроку
809 открытий4К показов