"НЕ НРАВИТСЯ" в SQL-запросе

Почему этот простой запрос возвращает "ORA-00936: отсутствует выражение" (база данных Oracle, как вы можете сказать):

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND NOT LIKE '2%'

Я чувствую себя глупо, но что я делаю неправильно?

Ответы

Ответ 1

Вы потеряли имя поля id во втором NOT LIKE. Попробуйте:

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%'

AND в предложении where объединяет 2 выражения полного условия, такие как id NOT LIKE '1%' и не может использоваться для перечисления нескольких значений, которые id "не нравится".

Ответ 2

Вам нужно указать столбец в обоих выражениях.

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%'

Ответ 3

Вы пропустили id перед NOT; он должен быть указан.

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%'