/
Вопросы и ответы
/
SQL
/

Как в sql написать не равно

Как в sql написать не равно

5 лет назад

Человек-Молекула

Ответы

1

В SQL используется <> и !=. Но Оператор != не входит в ISO снандарт, поэтому рекомендуется использовать <>. Т.е. оператор <> будет скорей всего поддерживаться всеми реализациями SQL

Пример

1
SELECT * FROM users WHERE id <> 1

Выберет всех пользователей, кроме первого.

5 лет назад

Nikolai Gagarinov

0

Не равно на SQL записывается как <> или !=

5 лет назад

Roman Ashikov

0

«Не равно» в SQL записывают как <> или !=:

1
2
SELECT * FROM users WHERE city <> 'Москва';
SELECT * FROM users WHERE city != 'Москва';

<> описан в стандарте SQL, != — расширение, которое понимают PostgreSQL, MySQL, SQL Server, SQLite и Oracle. Работают они одинаково.

Осторожно с NULL

<> не находит строки, где значение NULL. Сравнение с NULL даёт «неизвестно», и такие строки не попадают в результат:

1
2
3
4
5
-- пользователи без города не попадут в выборку
SELECT * FROM users WHERE city <> 'Москва';

-- чтобы попали, добавьте проверку
SELECT * FROM users WHERE city <> 'Москва' OR city IS NULL;

В PostgreSQL то же самое короче: WHERE city IS DISTINCT FROM 'Москва'.

Проверить, что значение не NULL, можно только через IS NOT NULL: city <> NULL всегда вернёт пустой результат.

Не равно нескольким значениям

1
SELECT * FROM users WHERE city NOT IN ('Москва', 'Казань');

Если в списке NOT IN окажется NULL, запрос не вернёт ни одной строки. Это частая ошибка с подзапросами — в них используйте NOT EXISTS.

Не похоже на шаблон

1
SELECT * FROM users WHERE email NOT LIKE '%@gmail.com';

Условия и фильтрацию разбирают в бесплатном курсе «Основы SQL».

7 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845