2

为什么查询会产生此错误?

ORA-00907: 缺少右括号
00907. 00000 - “缺少右括号”

select * from
(
  (select * from dual) alias1,

  (select * from dual) alias2
)

我在 10g 和 11g 上出现错误

4

2 回答 2

3

SQL 语法不正确。删除外圆括号,如下所示:

select * from 
(select * from dual) alias1, 
(select * from dual) alias2;
于 2012-05-30T21:44:56.580 回答
1

你的括号是平衡的,但是解析器很混乱,在它的混乱中,它产生了一个次优的错误消息。

你可以这样写:

SELECT *
  FROM (SELECT * FROM Dual) Alias1
  JOIN (SELECT * FROM Dual) Alias2 ON 1 = 1;
于 2012-05-30T21:40:12.633 回答