Содержание

Оператор LIKE в SQL используется для поискового запроса с определенным паттерном. Он позволяет выполнять поиск, который соответствует заданному шаблону. Оператор LIKE используется в сочетании с оператором WHERE

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

SQL WHERE LIKE

С оператором LIKE мы можем использовать следующие символы:

  • % — означает любое количество символов в том месте, где он стоит
  • _ — один знак (или несколько, если вы добавите несколько нижних подчеркиваний)

Теперь рассмотрим примеры. Из таблицы Customers выберем данные, у которых город начинается на букву B

SELECT * 
FROM Customers
WHERE City LIKE 'B%'

Мы получим такой результат:

SQL LIKE — результат

Если сделать такой запрос:

SELECT * 
FROM Customers
WHERE City LIKE '%B%'

Тогда мы получим все города, у которых в названии есть буква b (в начале, в середине, в конце и т.д.)

Нижнее подчеркивание, как упоминалось выше, наоборот задает нужное количество символов в строке. Чтобы получить только название города Bern, нам нужно сделать следующий запрос:

SELECT * 
FROM Customers
WHERE City LIKE 'B___' -- три нижних подчеркивания

Также мы можем скомбинировать оба символа в одном запросе:

SELECT * 
FROM Customers
WHERE City LIKE '_er%'

В результате мы получим следующие города:

Пример с _ и %

SQL NOT LIKE

Принцип этого оператора похож на действие оператора WHERE NOT IN — мы указываем то, что не должно попадать в нашу выбору из БД

SELECT * 
FROM Customers
WHERE City NOT LIKE '%B%'

Все города, у которых в названии нет буквы B

Ваши вопросы и комментарии: