Вы сортируете товары по величине скидки discount по убыванию. discount может быть NULL (скидки нет). Чтобы товары без скидки всегда были внизу независимо от настроек СУБД, какой вариант сортировки выбрать?

AORDER BY discount DESC LIMIT 100
BORDER BY discount DESC OFFSET 0
CORDER BY discount DESC NULLS LAST
DORDER BY discount DESC WHERE discount IS NOT NULL
Правильный ответ. NULLS FIRST / NULLS LAST позволяют явно зафиксировать позицию NULL при сортировке.

Разбор

Поведение NULL при сортировке может отличаться между системами, поэтому для отчётов лучше задавать его явно. Если NULL означает «нет скидки» и должен быть внизу, добавьте NULLS LAST: ORDER BY discount DESC NULLS LAST. LIMIT и OFFSET не управляют положением NULL, а WHERE используется для фильтрации, а не для сортировки.

Проверь себя · 1/3разбор после ответа
Что сделает запрос INSERT INTO archive (order_id, amount, status) SELECT order_id, amount, status FROM orders WHERE status = 'completed'?
Тренировать SQL в Telegram

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