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

Проверка решения

Кнопка «Проверить решение» берёт текст из редактора и прогоняет его по всем вариантам данных задания в отдельной чистой базе. Живая база в этом не участвует.

Когда всё сошлось

53 варианта данных · 53 сошлось
Полоса прогона: один штрих на вариант данных. Решение записано в solutions/.
проверка пройденаПолоса прогона: один штрих на вариант данных. Решение записано в solutions/.

Штрихов ровно столько, сколько вариантов было прогнано, — видно не слово «зачёт», а объём проверки. Решение сохраняется в solutions/<задание>.sql; это файл, который смотрит преподавательский CI.

Когда не сошлось

53 варианта данных · 36 сошлось · 17 нет
Красным — доля вариантов, на которых решение не сходится; ниже перечислены сами варианты.
проверка упалаКрасным — доля вариантов, на которых решение не сходится; ниже перечислены сами варианты.

Список вариантов под полосой — те наборы данных, где ответ разошёлся с эталонным. Любой раскрывается: видны данные варианта, ожидаемый результат и ваш.

Построчное сравнение: расхождения помечены в тех ячейках, где они есть.
разбор вариантаПострочное сравнение: расхождения помечены в тех ячейках, где они есть.

Это не подсказка «как надо» — это данные, на которых стало видно расхождение. Скрытый вариант раскрывается только после того, как решение на нём упало.

Почему вариантов так много

Один набор строк ничего не доказывает. Запрос без нужного условия пройдёт, если в таблице и так нет лишних строк; запрос с LIMIT 1 пройдёт, если подходящая строка одна. Поэтому варианты специально включают крайности: пусто, ровно одна строка, только один класс записей, всё сразу.

Три варианта открыты во вкладке «Примеры данных» — по ним удобно понять условие. Остальные скрыты.

Типичные причины расхождения

СимптомЧто обычно не так
сходится на примерах, падает на скрытыхне обработан крайний случай: пустой результат, одна строка, NULL в колонке
расходятся имена колонокне задан псевдоним AS, которого требует условие
расходится порядок строкнет ORDER BY, а условие требует порядка
«конструкции SQL» не пройденыиспользована запрещённая конструкция или нет обязательной — смотрите подсказку задания

Числа сравниваются с точностью, объявленной в задании, а не побайтово: 40 и 40.00 — это одно и то же значение, а не расхождение.