SQL> select * from dept a
2 where a.deptno in
3 (
4 select b.deptno from dept b
5 order by b.dname
6 )
7 ;
order by b.dname
*
ERROR at line 5:
ORA-00907: missing right parenthesis--单独执行是可以的SQL> select b.deptno from dept b
2 order by b.dname; DEPTNO
----------
10
40
20
30SQL>
2 where a.deptno in
3 (
4 select b.deptno from dept b
5 order by b.dname
6 )
7 ;
order by b.dname
*
ERROR at line 5:
ORA-00907: missing right parenthesis--单独执行是可以的SQL> select b.deptno from dept b
2 order by b.dname; DEPTNO
----------
10
40
20
30SQL>
select * from dept a
2 where a.deptno in
3 (
select depton from (
4 select b.deptno from dept b
5 order by b.dname
6 ) [where rownum < 5])
呵呵 我就觉得奇怪
明明在其他地方看到有子查询里使用order by的 为什么到我这里就不行了
现在想想 我看到的那个子查询是在FROM后面的 而不是WHERE