Що роблять NULLS FIRST і NULLS LAST?
NULLS FIRST і NULLS LAST - це параметри, які керують тим, де саме опиняться значення NULL під час сортування в SQL.
За замовчуванням NULL вважається невизначеним значенням, і різні СУБД (PostgreSQL, Oracle, SQLite та ін.) розміщують його по-різному.
Щоб задати порядок явно, використовують ці параметри.
NULLS FIRST
Розміщує всі NULL на початку результату.
SELECT name, salary
FROM employees
ORDER BY salary ASC NULLS FIRST;Навіть якщо сортування йде за зростанням, рядки з NULL будуть найпершими.
NULLS LAST
Розміщує всі NULL у кінці результату.
SELECT name, salary
FROM employees
ORDER BY salary DESC NULLS LAST;Незалежно від спадання, порожні значення опиняться у самому низу списку.
Навіщо це потрібно
Без вказівки NULLS FIRST/LAST порядок рядків з NULL може бути різним:
- у деяких системах вони вважаються «меншими за все»,
- в інших - «більшими за все».
Тому ці параметри потрібні, щоб контролювати позицію порожніх значень явно.
Підсумок:
NULLS FIRST-NULLна початку результату;NULLS LAST-NULLу кінці;- використовується з
ORDER BY, щоб задати точний порядок сортування за наявності пропусків.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.