В этом учебном материале по SQL рассматриваются все операторы сравнения, используемые в SQL для проверки на равенство и неравенство, а также более сложные операторы.
Описание
Операторы сравнения используются в предложении WHERE, чтобы определить, какие записи выбрать. Вот список операторов сравнения, которые вы можете использовать в SQL:
Операторы сравнения | Описание |
---|---|
= | Равно |
<> | Не равно |
!= | Не равно |
> | Больше чем |
>= | Больше или равно |
< | Меньше, чем |
<= | Меньше или равно |
IN () | Соответствует значению в списке |
NOT | Отрицает условие |
BETWEEN | В пределах диапазона (включительно) |
IS NULL | Значение NULL |
NOT NULL | Значение NOT NULL |
LIKE | Соответствие шаблону с % и _ |
EXISTS | Условие выполнено, если подзапрос возвращает хотя бы одну строку |
Пример - оператор равенства
В SQL вы можете использовать оператор =
для проверки на равенство в запросе.
В этом примере у нас есть таблица с suppliers со следующими данными:
supplier_id | supplier_name | city | state |
---|---|---|---|
100 | Yandex | Moscow | Moscow |
200 | Lansing | Michigan | |
300 | Oracle | Redwood City | California |
400 | Bing | Redmond | Washington |
500 | Yahoo | Sunnyvale | Washington |
600 | DuckDuckGo | Paoli | Pennsylvania |
700 | Qwant | Paris | Ile de France |
800 | Menlo Park | California | |
900 | Electronic Arts | San Francisco | California |
Введите следующий SQL оператор:
1 2 3 |
SELECT * FROM suppliers WHERE supplier_name = 'Yandex'; |
supplier_id | supplier_name | city | state |
---|---|---|---|
100 | Yandex | Moscow | Moscow |
Будет выбрана 1 запись. Вот результаты, которые вы должны получить:
В этом примере приведенный выше оператор SELECT возвращает все строки из таблицы suppliers, где supplier_name равно Yandex.
Пример - оператор неравенства
В SQL есть два способа проверить неравенство в запросе. Вы можете использовать оператор <>
или !=
. Оба вернут одинаковые результаты.
Давайте использовать ту же таблицу suppliers, что и в предыдущем примере.
supplier_id | supplier_name | city | state |
---|---|---|---|
100 | Yandex | Moscow | Moscow |
200 | Lansing | Michigan | |
300 | Oracle | Redwood City | California |
400 | Bing | Redmond | Washington |
500 | Yahoo | Sunnyvale | Washington |
600 | DuckDuckGo | Paoli | Pennsylvania |
700 | Qwant | Paris | Ile de France |
800 | Menlo Park | California | |
900 | Electronic Arts | San Francisco | California |
Выполните следующий SQL оператор, чтобы проверить неравенство, используя оператор <>
:
1 2 3 |
SELECT * FROM suppliers WHERE supplier_name <> 'Yandex'; |
Или введите следующий SQL оператор, чтобы использовать оператор !=
:
1 2 3 |
SELECT * FROM suppliers WHERE supplier_name != 'Yandex'; |
Будет выбрано 8 записей. Вот результаты, которые вы должны получить с помощью одного из операторов SQL:
supplier_id | supplier_name | city | state |
---|---|---|---|
200 | Lansing | Michigan | |
300 | Oracle | Redwood City | California |
400 | Bing | Redmond | Washington |
500 | Yahoo | Sunnyvale | Washington |
600 | DuckDuckGo | Paoli | Pennsylvania |
700 | Qwant | Paris | Ile de France |
800 | Menlo Park | California | |
900 | Electronic Arts | San Francisco | California |
В этом примере оба оператора SELECT будут возвращать все строки из таблицы suppliers, где supplier_name не равно Yandex.
Пример - оператор больше чем
Вы можете использовать оператор >
в SQL для проверки выражения больше чем.
В этом примере у нас есть таблица customers со следующими данными:
В этом примере у нас есть таблица customers со следующими данными:
customer_id | first_name | last_name | favorite_website |
---|---|---|---|
4000 | Justin | Bieber | google.com |
5000 | Selena | Gomez | bing.com |
6000 | Mila | Kunis | yahoo.com |
7000 | Tom | Cruise | oracle.com |
8000 | Johnny | Depp | NULL |
9000 | Russell | Crowe | google.com |
Введите следующий SQL оператор:
1 2 3 |
SELECT * FROM customers WHERE customer_id > 6000; |
Будет выбрано 3 записи. Вот результаты, которые вы получите:
customer_id | first_name | last_name | favorite_website |
---|---|---|---|
7000 | Tom | Cruise | oracle.com |
8000 | Johnny | Depp | NULL |
9000 | Russell | Crowe | google.com |
В этом примере оператор SELECT возвращает все строки из таблицы customer, где customer_id больше 6000. Записи с customer_id, равные и менее 6000, не будут включены в набор результатов.
Пример - оператор больше или равно
В SQL вы можете использовать оператор >=
, чтобы проверить выражение на больше или равно.
Давайте использовать ту же таблицу customers, что и в предыдущем примере.
customer_id | first_name | last_name | favorite_website |
---|---|---|---|
4000 | Justin | Bieber | google.com |
5000 | Selena | Gomez | bing.com |
6000 | Mila | Kunis | yahoo.com |
7000 | Tom | Cruise | oracle.com |
8000 | Johnny | Depp | NULL |
9000 | Russell | Crowe | google.com |
Введите следующий SQL оператор:
1 2 3 |
SELECT * FROM customers WHERE customer_id >= 6000; |
Будет выбрано 4 записи. Вот результаты, которые вы должны получить:
customer_id | first_name | last_name | favorite_website |
---|---|---|---|
6000 | Mila | Kunis | yahoo.com |
7000 | Tom | Cruise | oracle.com |
8000 | Johnny | Depp | NULL |
9000 | Russell | Crowe | google.com |
В этом примере оператор SELECT будет возвращать все строки из таблицы customers, где customer_id больше или равен 6000. В этом случае значение supplier_id, равное 6000, будет включено в набор результатов.
Пример - оператор меньше, чем
Вы можете использовать оператор <
в SQL, чтобы проверить выражение меньше, чем.
В этом примере у нас есть таблица products со следующими данными:
product_id | product_name | category_id |
---|---|---|
1 | Pear | 50 |
2 | Banana | 50 |
3 | Orange | 50 |
4 | Apple | 50 |
5 | Bread | 75 |
6 | Sliced Ham | 25 |
7 | Kleenex | NULL |
Введите следующий SQL оператор:
1 2 3 |
SELECT * FROM products WHERE product_id < 5; |
Будет выбрано 4 записи. Вот результаты, которые вы должны получить:
product_id | product_name | category_id |
---|---|---|
1 | Pear | 50 |
2 | Banana | 50 |
3 | Orange | 50 |
4 | Apple | 50 |
В этом примере оператор SELECT возвращает все строки из таблицы products, где product_id меньше 5. product_id, равный 5, не будет включен в набор результатов.
Пример - оператор меньше или равно
В SQL вы можете использовать оператор <=
для проверки выражения, которое меньше или равно.
Давайте использовать ту же таблицу products, что и в предыдущем примере.
product_id | product_name | category_id |
---|---|---|
1 | Pear | 50 |
2 | Banana | 50 |
3 | Orange | 50 |
4 | Apple | 50 |
5 | Bread | 75 |
6 | Sliced Ham | 25 |
7 | Kleenex | NULL |
Введите следующий SQL оператор:
1 2 3 |
SELECT * FROM products WHERE product_id <= 5; |
Будет выбрано 5 записей. Вот результаты, которые вы должны получить:
product_id | product_name | category_id |
---|---|---|
1 | Pear | 50 |
2 | Banana | 50 |
3 | Orange | 50 |
4 | Apple | 50 |
5 | Bread | 75 |
В этом примере оператор SELECT возвращает все строки из таблицы products, где product_id меньше или равен 5. В этом случае product_id, равный 5, будет включен в набор результатов.