NOT
NOT ставят перед условием. Тогда в результат попадут строки, где условие неверно.
В этом уроке работаем с таблицей tutorial.billboard_top_100_year_end.
Оператор NOT
Заголовок раздела «Оператор NOT»Песни 2013 года, кроме мест 2 и 3:
SELECT *FROM tutorial.billboard_top_100_year_endWHERE year = 2013 AND year_rank NOT BETWEEN 2 AND 3;NOT и операторы > и <
Заголовок раздела «NOT и операторы > и <»С > и < NOT не нужен. Такая запись даст ошибку:
-- ошибкаSELECT *FROM tutorial.billboard_top_100_year_endWHERE year = 2013 AND year_rank NOT > 3;Используйте противоположный оператор:
SELECT *FROM tutorial.billboard_top_100_year_endWHERE year = 2013 AND year_rank <= 3;NOT с LIKE
Заголовок раздела «NOT с LIKE»NOT часто ставят перед LIKE. Так исключают строки по шаблону:
SELECT *FROM tutorial.billboard_top_100_year_endWHERE year = 2013 AND group_name NOT ILIKE '%macklemore%';В результате нет Macklemore. Запрос вернёт 138 строк.
NOT с NULL
Заголовок раздела «NOT с NULL»Чтобы найти непустые значения, пишут IS NOT NULL:
SELECT *FROM tutorial.billboard_top_100_year_endWHERE year = 2013 AND artist IS NOT NULL;Практика
Заголовок раздела «Практика»Решайте сами, без AI. Сначала напишите запрос, потом сверьтесь с проверкой, и только потом открывайте решение.
Задание 1
Заголовок раздела «Задание 1»Напишите запрос, который вернёт все строки для песен, попавших в чарт в 2013 году, в названии которых нет буквы «a».
Проверка: 68 строк.
Решение
SELECT *FROM tutorial.billboard_top_100_year_endWHERE song_name NOT ILIKE '%a%' AND year = 2013;