🗄️ SQL и базы данных  ·  20 вопросов  ·  ~34 мин  ·  ⏱ Таймер 34:00  ·  Средний  · 

NULL и трёхзначная логика

NULL в SQL — не пустая строка и не особое число. Этот тест заставляет проследить UNKNOWN в WHERE, JOIN, NOT IN, агрегатах и выражениях, выбрать безопасную замену и отличить отсутствие факта от осмысленного нуля. Многие варианты выглядят правдоподобно именно потому, что повторяют распространённые ошибки рабочего кода.

Отвечено: 0 из 20
⏱ --:--
0%
💡 Инструкция: Выбери один ответ из четырёх. В тесте 20 вопросов и 34 минут. После завершения откроются общий процент, четыре тематические шкалы, правильные ответы и разбор каждого задания.
Вопрос 1 из 20
Какое утверждение точнее всего описывает NULL в столбце delivered_at?
Вопрос 2 из 20
Сколько строк останется после условия x <> 5?
SQL
WITH t(value) AS (VALUES (0::integer), (NULL::integer), (5))
SELECT value FROM t WHERE value <> 5;
Вопрос 3 из 20
Почему хранить неизвестную скидку как 0 может быть ошибкой?
Вопрос 4 из 20
payments.id — первичный ключ. После LEFT JOIN поле p.id оказалось NULL. Что можно утверждать?
SQL
SELECT c.id, p.id
FROM customers c
LEFT JOIN payments p ON p.customer_id = c.id;
Вопрос 5 из 20
Какое значение лучше хранить для числа попыток, если система точно знает, что попыток ещё не было?
Вопрос 6 из 20
Какой фильтр действительно выбирает строки без даты завершения?
Вопрос 7 из 20
Сколько строк пройдёт через условие x NOT IN (5, NULL)?
SQL
WITH t(value) AS (VALUES (1::integer), (NULL::integer), (2))
SELECT value FROM t WHERE value NOT IN (5, NULL);
Вопрос 8 из 20
Nullable boolean approved нужно разделить на три состояния. Как выбрать именно неопределённые строки?
Вопрос 9 из 20
Какой предикат оставит false и NULL, но исключит true?
Вопрос 10 из 20
Как правильно проверить, что два nullable значения не различаются, считая NULL равным NULL в PostgreSQL?
Вопрос 11 из 20
Чему равно TRUE OR UNKNOWN?
Вопрос 12 из 20
Чему равно FALSE AND UNKNOWN?
Вопрос 13 из 20
Почему NOT IN может неожиданно вернуть пустой результат?
SQL
SELECT id
FROM customers
WHERE id NOT IN (SELECT customer_id FROM blacklist);
Вопрос 14 из 20
Какой вариант устойчив к NULL в blacklist.customer_id?
Вопрос 15 из 20
Каково значение NOT UNKNOWN?
Вопрос 16 из 20
Что вернёт выражение?
SQL
SELECT COALESCE('Анна', 'не указано') AS name;
Вопрос 17 из 20
Какое значение получится?
SQL
SELECT COALESCE(NULL, 5, 10) AS value;
Вопрос 18 из 20
Как безопасно посчитать total, считая отсутствующую скидку нулевой только для этого расчёта?
Вопрос 19 из 20
Что вернёт NULLIF(5, 5)?
SQL
SELECT NULLIF(5, 5);
Вопрос 20 из 20
Почему COALESCE(phone, 'нет телефона') лучше применять в отчёте, а не обязательно записывать строку «нет телефона» в сам столбец?

Ответьте на все 20 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу