JPA极大方便了我们对数据库的操作,但有时一些复杂的查询JPA的查询方式不能满足我们,我们就必须自己写一些SQL语句
在自己写SQL语句中难免会碰到一些问题:
例如:ORA-00907: 缺失右括号,遇到这个问题时,我很纳闷,因为我是之前在ORACLE的SQL窗口中写的,并且立马执行可以执行之后才放入代码中去的
可还是遇到了问题,对此我查找了一些资料,通常是因为以下问题出现的这个错误:
1 union all中order by 导致缺失右括号
在有union all的子查询中使用了order by,会导致缺失右括号的错误,其实在有union all的子查询中根本不是必需进行排序,由于联合之后又组成了一个新的集合,之前的排序对新集合而言没什么用,直接查询联合之后的新集合然后再进行排序就可以。
2. in (子查询)的使用方法中。子查询不能使用order by!
此种情况跟1中描绘的有些相似,首先在in(子查询)使用方法使用order by 会报错。其次。子查询里用order by,纯属多此一举,子查询的目的,仅仅是找出合适的数据。假设须要排序。在外边排就可以。