This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
kurs:rownum [2010/10/30 15:03] mh created |
kurs:rownum [2015/10/27 09:42] (current) mh |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | Verschachtelte with-clause zum "Nachbauen" von limit | ||
+ | |||
+ | <code> | ||
+ | with | ||
+ | emp_sal_sort as ( | ||
+ | select first_name, | ||
+ | last_name, | ||
+ | salary | ||
+ | from employees | ||
+ | order by salary desc | ||
+ | ), | ||
+ | emp_sal_sort_rn as ( | ||
+ | select rownum rn, emp_sal_sort.* from emp_sal_sort | ||
+ | ) | ||
+ | select * from emp_sal_sort_rn | ||
+ | where rn > 10 and rn <= 20 | ||
+ | </code> | ||
+ | |||
+ | |||
+ | <code> | ||
+ | select first_name, last_name, salary from employees where | ||
+ | department_id in | ||
+ | (select i from | ||
+ | (select department_id i, count(*) from employees | ||
+ | group by department_id | ||
+ | having count(*) >= 5) | ||
+ | ) | ||
+ | </code> | ||
+ | |||
<code> | <code> | ||
select rownum, rn, first_name, last_name, salary from ( | select rownum, rn, first_name, last_name, salary from ( | ||
select rownum rn, first_name, last_name, salary from employees ) | select rownum rn, first_name, last_name, salary from employees ) | ||
where rn > 5 | where rn > 5 | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | select * from ( | ||
+ | select rownum r, | ||
+ | first_name, | ||
+ | last_name, | ||
+ | salary | ||
+ | from ( | ||
+ | select first_name, | ||
+ | last_name, | ||
+ | salary | ||
+ | from employees | ||
+ | order by salary desc | ||
+ | ) | ||
+ | ) where r > 5 | ||
</code> | </code> |