LEFT JOIN Oracle DB лимит строк

Каким образом можно сократить количество взятых строк из таблицы Jobs, чтобы при выборе значений брались все значения из первой таблицы и только 10 значений из второй?

SELECT *
FROM HR.JOB_HISTORY 
LEFT JOIN HR.JOBS 
ON JOB_HISTORY.job_id = JOBS.job_id
WHERE rownum < 10;

Ответы (2 шт):

Автор решения: Akina
SELECT * 
FROM HR.JOB_HISTORY JH
LEFT JOIN ( SELECT *, 
                   ROW_NUMBER() OVER (PARTITION BY JB.job_id 
                                      ORDER BY JB.id -- обязательна уникальная сортировка
                                      ) rownum 
            FROM HR.JOBS JB ) JBS
ON JH.job_id = JBS.job_id
WHERE JBS.rownum < 10;
→ Ссылка
Автор решения: 0xdb

Вот так:

select * 
from hr.job_history jh 
left join (
    select * 
    from hr.jobs jb
    order by job_id
    fetch first 10 rows only) jb on jb.job_id = jh.job_id
→ Ссылка