sql >> Database >  >> RDS >> Mysql

SQL-query waarbij het veld GEEN $x bevat

Wat voor veld is dit? De IN-operator kan niet worden gebruikt met een enkel veld, maar is bedoeld om te worden gebruikt in subquery's of met vooraf gedefinieerde lijsten:

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

Als je een string zoekt, gebruik dan de LIKE-operator (maar dit zal traag zijn):

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

Als je het beperkt zodat de string die je zoekt moet beginnen met de gegeven string, kan het indices gebruiken (als er een index op dat veld is) en redelijk snel zijn:

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


  1. Verschillen tussen DATA INFILE en LOAD DATA LOCAL INFILE

  2. Migraties uitvoeren met Rails in een Docker-container met meerdere containerinstanties

  3. Python SQL – De SQLite-, MySQL- en PostgreSQL-databases gebruiken met Python

  4. controleer op dubbele invoer vs gebruik PDO errorInfo resultaat