ROWNUM в Oracle SQL. Введение
ROWNUM — это псевдостолбец в Oracle SQL, который возвращает номер строки в результате запроса до выполнения сортировки. Он часто используется для ограничения количества строк, например, для первых 10 записей или быстрой выборки одной строки.
В отличие от ROW_NUMBER() в оконных функциях, ROWNUM работает быстро, но требует аккуратного обращения, особенно в сочетании с ORDER BY.
🔤 Написание
🔄 Где используется ROWNUM
Выборка первых N строк
Проверка существования данных
Ограничение количества результатов
Быстрая проверка условий
Отладка и тестирование
🧪 10 Примеров использования РОУНУМ
1️⃣ Получить 5 первых строк
2️⃣ Проверка наличия данных
3️⃣ Удалить одну строку
4️⃣ ROWNUM и ORDER BY — ловушка
5️⃣ Корректная выборка топ-N с сортировкой
6️⃣ Именование псевдостолбца
7️⃣ Получить первую строку из подзапроса
8️⃣ Использование в PL/SQL
9️⃣ Создание запроса «Случайная строка»
🔟 ROWNUM в EXISTS
🧩 Заключение
ROWNUM — простой и быстрый способ ограничить выборку строк, но требует понимания своего поведения. Он назначается до сортировки, поэтому для топ-N запросов с ORDER BY всегда оборачивайте его во вложенный запрос.
💡 Запомни:
ROWNUM≠ROW_NUMBER()Назначается до
ORDER BYИдеален для
WHERE ROWNUM = 1, EXISTS, тестовИспользуй вложенные SELECT’ы для правильной сортировки
🔜 Следующая статья:
ROWIDTOCHAR в Oracle SQL — как преобразовать адрес строки в читаемый формат