此查询中的无效关系运算符

时间:2018-12-03 05:08:33

标签: oracle oracle-sqldeveloper

select Bus_no, time
from reaches r
where r.bus_no = 127
having max (hault); 

当我尝试在Oracle SQL Developer中检查查询时,它向我显示错误为“无效的关系运算符”。

1 个答案:

答案 0 :(得分:0)

“无效的关系运算符”表示查询中的谓词不能解析为SQL条件。

例如,max(hault)并不是不是的意思,正如您所期望的那样“以最大值hault查找行”。 max(hault)是一个表达式(在这种情况下,是一个聚合函数),它返回hault的最大值。

一个值本身不能用作查询中的条件(在where或having子句中)。要成为有效条件,您必须应用关系运算符,例如比较运算符(=!=<>^=<,{{ 1}},<=>>=BETWEENNOT BETWEENLIKENOT LIKE,{{1} },REGEXP_LIKE等)或集合运算符(IS NULLIS NOT NULLINNOT IN)。

SQL条件参考: https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlqr/SQL-Conditions.html#GUID-857D67A8-9224-4C71-88A2-4869696F1A1C

关于SQL条件: https://docs.oracle.com/en/database/oracle/oracle-database/18/sqlrf/About-SQL-Conditions.html#GUID-E9EC8434-CD48-4C01-B01B-85E5359D8DD7