Перейти к содержимому
TelegramGitHub

NOT

NOT ставят перед условием. Тогда в результат попадут строки, где условие неверно.

В этом уроке работаем с таблицей tutorial.billboard_top_100_year_end.

Песни 2013 года, кроме мест 2 и 3:

SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE year = 2013
AND year_rank NOT BETWEEN 2 AND 3;

С > и < NOT не нужен. Такая запись даст ошибку:

-- ошибка
SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE year = 2013
AND year_rank NOT > 3;

Используйте противоположный оператор:

SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE year = 2013
AND year_rank <= 3;

NOT часто ставят перед LIKE. Так исключают строки по шаблону:

SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE year = 2013
AND group_name NOT ILIKE '%macklemore%';

В результате нет Macklemore. Запрос вернёт 138 строк.

Чтобы найти непустые значения, пишут IS NOT NULL:

SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE year = 2013
AND artist IS NOT NULL;

Решайте сами, без AI. Сначала напишите запрос, потом сверьтесь с проверкой, и только потом открывайте решение.

Напишите запрос, который вернёт все строки для песен, попавших в чарт в 2013 году, в названии которых нет буквы «a».

Проверка: 68 строк.

Решение
SELECT *
FROM tutorial.billboard_top_100_year_end
WHERE song_name NOT ILIKE '%a%'
AND year = 2013;