oracle sql 缺失右括号

2025-04-29 07:35:32
推荐回答(2个)
回答1:

你 in (XXXXXX 还有 order by ?) 把 order by 去掉

select *
from po_standard st
where st.id in
(select ts.standard_id
from rl_task_standard ts
where ts.task_id in
(select t.id from po_task t where t.user_id = 'SYS_ROOT')
and rownum > 0
AND rownum <= 20
group by ts.standard_id
);

可以再嵌套查询一下 你这个 ts.standard_id

回答2:

这个问题说起来有点复杂了 问题是在 in 上面。
in的逻辑实际上可以转化为一个hash join的逻辑。
如果使用了in 这种查询方法,order by 这个语句看不出来有什么用~