提问者:小点点

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


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

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


共1个答案

匿名用户

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

例如,max(hault)并不意味着“找到最大值为hault的行”max(hault)是一个表达式(在本例中是一个聚合函数),它返回hault的最大值。

值本身不能用作查询中的条件(在where或having子句中)。要成为有效条件,必须应用关系运算符,例如比较运算符(=!=

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