1. A NOT IN condition referencing a subquery returning no rows returns all rows:
SELECT 'True' FROM employees WHERE department_id NOT IN (SELECT 0 FROM DUAL WHERE 1=2);2. Force sorting in a UNION to get Nth row:
select name_id "id",
name_last "last",
rownum "rownum"
from name
where name_seriesno = name_now(name_id)
and (name_last, name_id) in (
select name_last, name_id
from name
where name_serisno = name_now(name_id)
union
select 'x', 'y' from dual where 1=2
)
group by name_id ,name_last ,rownum
having rownum = 5;
id last rownum
----- --------------- ----------
@133 O'Leary 5