Оператор LIKE используется с оператором WHERE для получения данных, соответствующих заданному строковому шаблону. Например:
1 2 3 |
SELECT * FROM Customers WHERE country LIKE 'UK'; |
Здесь мы выбираем клиентов, чья страна — UK
.
Примечание: Хотя в этом примере оператор LIKE
ведет себя так же, как оператор =
, это не одно и то же. Оператор =
используется для проверки равенства, тогда как оператор LIKE
используется только для сопоставления строковых шаблонов.
Оператор LIKE с подстановочными знаками
Оператор LIKE
часто используется с подстановочными знаками (wildcards) для соответствия шаблону. Например:
1 2 3 |
SELECT * FROM Customers WHERE last_name LIKE 'R%'; |
Здесь %
(означает ноль или более символов) является подстановочным знаком. Следовательно, с помощью данной команды мы выбираем клиентов, чья фамилия (last_name) начинается с буквы R
и имеет ноль или более символов после R
.
Мы можем использовать и другие подстановочные знаки с оператором LIKE
, например:
1 2 3 |
SELECT * FROM Customers WHERE country LIKE 'U_'; |
Здесь мы выбираем клиентов, название страны которых начинается с буквы U
и сопровождается только одним символом. Подстановочный знак _
означает один любой символ.
Оператор NOT LIKE в SQL
Мы также можем инвертировать работу оператора LIKE
и игнорировать данные, соответствующие заданному строковому шаблону, с помощью оператора NOT. Например:
1 2 3 |
SELECT * FROM Customers WHERE country NOT LIKE 'USA'; |
Здесь мы выбираем всех клиентов, кроме тех, чья страна — США (USA).
Оператор LIKE с несколькими значениями
Мы можем использовать оператор LIKE
с несколькими строковыми шаблонами для соответствия с помощью оператора OR
. Например:
1 2 3 |
SELECT * FROM Customers WHERE last_name LIKE 'R%t' OR last_name LIKE '%e'; |
Здесь мы выбираем клиентов, чья фамилия (last_name) начинается с буквы R и заканчивается буквой t, или клиентов, чья фамилия заканчивается буквой e.