Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie SQL, w którym pole NIE zawiera $x

Co to za pole? Operator IN nie może być używany z pojedynczym polem, ale ma być używany w podzapytaniach lub z predefiniowanymi listami:

-- 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);

Jeśli szukasz ciągu, użyj operatora LIKE (ale będzie to powolne):

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

Jeśli ograniczysz go tak, aby szukany ciąg zaczynał się od podanego ciągu, może używać indeksów (jeśli w tym polu jest indeks) i działać dość szybko:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL jak odblokować tabelę jeśli użyłem polecenia LOCK table nazwa_tabeli WRITE;

  2. Jak usunąć niechciane znaki wiodące z ciągu w MySQL?

  3. Wyliczenie MySQL a zestaw

  4. java.sql.SQLException:Nie wybrano bazy danych

  5. MySQL Gdzie DateTime jest większy niż dzisiaj