Сравнение с NULL в SQL
«SQL и NULL: почему они настолько странные?»
Иногда кажется, что SQL — это набор классических правил с жёсткой логикой, но вот приходит тема NULL, и оказывается, что ничего жёстко не работает. В этой статье мы разберёмся, почему SQL расценивает NULL весьма необычным образом (и ломает нам «обычную» логику уникальности). Будем опираться на опыт и примеры из поста “SQL nulls are weird”, где автор подробно рассказывает, как базы SQLite, Postgres и MySQL ведут себя, когда дело доходит до NULL. Если мы создаём таблицу вида: CREATE TABLE sample (
...
Вопросы с собеседований по SQL
📍 В чем разница между сount(*) и count(колонка)?
count(*) считает все строки, в т.ч. с NULLs, а count(колонка) нет.
Как пример, привела скрины dbeawer из базы. Есть колонка first_payed_product_at с пропусками. В варианте count(*) считается все, а в варианте count(first_payed_product_at) только заполненные строки (820 значений).
📍 В чем разница между UNION и UNION ALL?
Основное различие между UNION и UNION ALL заключается в том, что операция UNION удаляет дублированные строки из результирующего набора, а UNION ALL не удаляет дубликаты...