【发布时间】:2020-11-29 11:17:49
【问题描述】:
我通过以下 SQL 语句的意图是随机选择一个元组
表MovieExec, Movie and Studio 的连接结果。
但是这个 SQL 语句输出一个元组,有时是两个或更多元组。
由于条件r = trunc(dbms_random.value(1,6)),
我认为下面的 SQL 语句中不能有两个或更多元组。
select name
from (select e.*, rownum r
from (select movieexec.name, count(*)
from movieexec,studio,movie where certno = presno and producerno = certno
group by movieexec.name having count(*) = 1) e
)
where r = trunc(dbms_random.value(1,6));
但是,如果最后一个 where 条件是r = (select trunc(dbms_random.value(1,6)) from dual where rownum =1 ),
它总是只输出一个元组。
我想知道为什么第一个 SQL 语句可以显示一个或多个元组。
【问题讨论】:
标签: sql oracle oracle12c rownum