Вы можете попробовать использовать LEFT JOIN
.
Сначала создайте список чисел до желаемого предела, например , предложенного здесь :
-- let's say you want 300 records
Select Rownum r From dual Connect By Rownum <= 300
Тогда вы можете использовать это, чтобы присоединиться слева и иметь пустые записи:
SELECT C, R FROM
( select rownum i, c from (select 'a' c from dual union all select 'b' from dual) )
, ( Select Rownum r From dual Connect By Rownum <= 300)
where i(+)= r order by r
Выше приведен упорядоченный список, начинающийся с «a», «b», затем ноль до конца.
Чтобы вы могли адаптировать его к вашему делу так:
SELECT F,L FROM
( select rownum i, f, l from (
select first_name f, last_name l
from accounts where account_role = 'Author'
order by account_nr) )
, ( Select Rownum r From dual Connect By Rownum <= 300)
where i(+)= r