«Недопустимый реляционный оператор» указывает, что предикат в запросе не разрешается в условие SQL.
Например, max(hault)
не не означает «найти строку с максимумом»значение hault
", как вы могли рассчитывать.max(hault)
- это выражение (в данном случае агрегатная функция), которое возвращает максимальное значение hault
.
Само по себе значение нельзя использовать в качестве условия в запросе (в выражении where илиимеющий пункт).Чтобы стать действительным условием, вы должны применить реляционный оператор, такой как оператор сравнения (=
, !=
, <>
, ^=
, <
, <=
, >
, >=
,BETWEEN
, NOT BETWEEN
, LIKE
, NOT LIKE
, REGEXP_LIKE
, IS NULL
, IS NOT NULL
и т. Д.) Или оператор набора (IN
, NOT IN
, EXISTS
, NOT EXISTS
).
Ссылка на условия 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