sql >> Databáze >  >> RDS >> SQLite

SQLite Kde

Shrnutí :v tomto tutoriálu se naučíte používat SQLite WHERE klauzule k určení podmínky vyhledávání pro řádky vrácené dotazem.

Úvod do SQLite WHERE klauzule

WHERE klauzule je volitelná klauzule SELECT prohlášení. Zobrazí se za FROM klauzule jako následující prohlášení:

SELECT
	column_list
FROM
	table
WHERE
	search_condition;Code language: SQL (Structured Query Language) (sql)

V tomto příkladu přidáte WHERE klauzule do SELECT k filtrování řádků vrácených dotazem. Při vyhodnocování SELECT příkaz s WHERE klauzule SQLite používá následující kroky:

  1. Nejprve zkontrolujte tabulku v FROM doložka.
  2. Zadruhé vyhodnoťte podmínky v WHERE klauzule, abyste získali řádky, které tyto podmínky splnily.
  3. Za třetí, vytvořte konečnou sadu výsledků na základě řádků v předchozím kroku se sloupci v SELECT doložka.

Podmínka vyhledávání v WHERE má následující tvar:

left_expression COMPARISON_OPERATOR right_expressionCode language: SQL (Structured Query Language) (sql)

Podmínku hledání můžete vytvořit například takto:

WHERE column_1 = 100;

WHERE column_2 IN (1,2,3);

WHERE column_3 LIKE 'An%';

WHERE column_4 BETWEEN 10 AND 20;Code language: SQL (Structured Query Language) (sql)

Kromě SELECT můžete použít příkaz WHERE klauzule v UPDATE a DELETE prohlášení.

Operátory porovnání SQLite

Operátor porovnání testuje, zda jsou dva výrazy stejné. Následující tabulka ukazuje operátory porovnání, které můžete použít k vytvoření výrazů:

Operátor Význam
= Rovno
<> nebo != Nerovná se
< Méně než
> Větší než
<= Menší nebo rovno
>= Větší nebo rovno

Logické operátory SQLite

Logické operátory umožňují testovat pravdivost některých výrazů. Logický operátor vrátí hodnotu 1, 0 nebo NULL.

Všimněte si, že SQLite neposkytuje booleovský datový typ, proto 1 znamená PRAVDA a 0 znamená NEPRAVDA.

Následující tabulka ilustruje logické operátory SQLite:

Operátor Význam
VŠECHNY vrací 1, pokud jsou všechny výrazy 1.
A vrací 1, pokud jsou oba výrazy 1, a 0, pokud je jeden z výrazů 0.
JAKÉKOLI vrací 1, pokud je některé ze sady porovnání 1.
MEZI vrátí 1, pokud je hodnota v rozsahu.
EXISTUJE vrátí 1, pokud poddotaz obsahuje nějaké řádky.
IN vrátí 1, pokud je hodnota v seznamu hodnot.
LIKE vrátí 1, pokud se hodnota shoduje se vzorem
NE obrátí hodnotu ostatních operátorů, jako je NOT EXISTS, NOT IN, NOT BETWEEN atd.
NEBO vrací hodnotu true, pokud je jeden z výrazů 1

SQLite WHERE příklady vět

Použijeme tracks tabulka ve vzorové databázi pro ilustraci použití WHERE doložka.

Operátor rovnosti (= ) je nejběžněji používaný operátor. Například následující dotaz používá WHERE klauzule operátor rovnosti k nalezení všech skladeb v albu s ID 1:

SELECT
   name,
   milliseconds,
   bytes,
   albumid
FROM
   tracks
WHERE
   albumid = 1;Code language: SQL (Structured Query Language) (sql)

Zkuste to

SQLite porovnává hodnoty uložené v AlbumId sloupec s doslovnou hodnotou 1 otestovat, zda jsou si rovni. Jsou vráceny pouze řádky, které splňují podmínku.

Když porovnáváte dvě hodnoty, musíte zajistit, aby byly stejného datového typu. Měli byste porovnávat čísla s čísly, řetězec s řetězci atd.

V případě, že porovnáváte hodnoty v různých typech dat, např. řetězec s číslem, musí SQLite provádět implicitní převody datových typů, ale obecně byste se tomu měli vyhnout.

Ke kombinování výrazů se používá logický operátor. Chcete-li například získat skladby z alba 1, které mají délku větší než 200 000 milisekund, použijte následující příkaz:

SELECT
	name,
	milliseconds,
	bytes,
	albumid
FROM
	tracks
WHERE
	albumid = 1
AND milliseconds > 250000;Code language: SQL (Structured Query Language) (sql)

Zkuste to

Příkaz používal dva výrazy albumid = 1 a milliseconds > 250000 . Používá AND logický operátor ke kombinaci těchto výrazů.


SQLite WHERE klauzule s LIKE příklad operátoru

Někdy si možná nepamatujete přesně data, která chcete hledat. V tomto případě provedete nepřesné vyhledávání pomocí LIKE operátor.

Chcete-li například zjistit, které skladby složil Smith, použijte LIKE operátor takto:

SELECT
	name,
	albumid,
	composer
FROM
	tracks
WHERE
	composer LIKE '%Smith%'
ORDER BY
	albumid;Code language: SQL (Structured Query Language) (sql)

Zkuste to

Získáte skladby složené R.A. Smith-Diesel, Adrian Smith atd.

SQLite WHERE klauzule s IN příklad operátoru

IN operátor umožňuje zkontrolovat, zda je hodnota v seznamu hodnot oddělených čárkami. Chcete-li například najít skladby, které mají ID typu média 2 nebo 3, použijte IN operátor, jak je uvedeno v následujícím prohlášení:

SELECT
	name,
	albumid,
	mediatypeid
FROM
	tracks
WHERE
	mediatypeid IN (2, 3);Code language: SQL (Structured Query Language) (sql)

Zkuste to

V tomto tutoriálu jste se naučili používat SQLite WHERE klauzule k filtrování řádků v konečné sadě výsledků pomocí porovnání a logických operátorů.


  1. Jak aktualizovat propojené tabulky v Accessu 2016 po přesunutí backendové databáze do nového umístění

  2. Jak funguje ASCII() v MariaDB

  3. Jak najít průměr číselného sloupce v SQL

  4. Najděte překrývající se období v PostgreSQL