SQL-запрос, где поле не содержит $ x

Я хочу найти SQL-запрос для поиска строк, где field1 не содержит $ x. Как я могу это сделать?

Что это за поле? Оператор IN не может использоваться с одним полем, но предназначен для использования в подзапросах или с предопределенными списками:

-- subquery SELECT a FROM x WHERE xb NOT IN (SELECT b FROM y); -- predefined list SELECT a FROM x WHERE xb NOT IN (1, 2, 3, 6); 

Если вы ищете строку, перейдите к оператору LIKE (но это будет медленно):

 -- Finds all rows where a does not contain "text" SELECT * FROM x WHERE xa NOT LIKE '%text%'; 

Если вы ограничиваете его так, что искомая строка должна начинаться с данной строки, она может использовать индексы (если есть индекс в этом поле) и быть достаточно быстрой:

 -- Finds all rows where a does not start with "text" SELECT * FROM x WHERE xa NOT LIKE 'text%'; 

SELECT * FROM table WHERE field1 NOT LIKE '%$x%'; (Убедитесь, что вы избегаете $ x правильно, чтобы избежать SQL-инъекции)

Edit: NOT IN делает что-то совсем другое – ваш вопрос не совсем ясен, поэтому выберите, какой из них использовать. LIKE 'xxx%' может использовать индекс. LIKE '%xxx' или LIKE '%xxx%' не может.