W Oracle wartości Rownum są przypisywane po etapie filtrowania zapytania - nie są wierszami tabeli, są wierszami zestawu wyników zapytania.
Tak więc pierwszy wiersz, który zwróci, zawsze otrzyma wiersz numer 1, drugi wiersz, który zwróci wiersz numer 2, itd.
Wartość rownum jest zwiększana dopiero po jej przypisaniu, więc każde zapytanie, takie jak
select * from t where ROWNUM > 1
nigdy zwrócić wszelkie wyniki. To zapytanie mówi „Nie chcę widzieć pierwszego wiersza, który jest do mnie zwracany, tylko następne”, co jest swego rodzaju paradoksem, więc nic nie jest zwracane.
Zobacz Zapytaj Toma:On ROWNUM i Ograniczanie wyników, aby uzyskać więcej informacji.