В таблице пользователей поле last_login может быть NULL (пользователь ни разу не заходил). Нужно отсортировать пользователей так, чтобы самые недавно заходившие были сверху, а пропущенные значения оказались внизу. Какая сортировка решает обе задачи?

AORDER BY last_login DESC
BORDER BY last_login DESC NULLS FIRST
CORDER BY last_login ASC NULLS LAST
DORDER BY last_login DESC NULLS LAST
Правильный ответ. Явно указывайте положение пропусков в сортировке через NULLS FIRST или NULLS LAST, чтобы не зависеть от дефолтов СУБД.

Разбор

Нужно одновременно два требования: порядок по свежести (DESC) и размещение пропусков внизу (NULLS LAST). Поэтому корректно ORDER BY last_login DESC NULLS LAST. Если положение пропусков не указать явно, поведение зависит от СУБД и её настроек: где-то по умолчанию NULL идут в конец, где-то в начало. Для отчётов и витрин лучше задавать порядок явно, чтобы результат был предсказуемым.

Проверь себя · 1/3разбор после ответа
В таблице users нужно выбрать только активных пользователей из России или Казахстана. Какой WHERE соответствует требованию?
Тренировать SQL в Telegram

Ещё вопросы по теме «Основы SQL-запросов»