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

SQLite Kromě

Shrnutí :v tomto tutoriálu se naučíte používat SQLite EXCEPT operátor.

Úvod do SQLite EXCEPT operátor

SQLite EXCEPT Operátor porovná sady výsledků dvou dotazů a vrátí odlišné řádky z levého dotazu, které nejsou na výstupu pravého dotazu.

Následující text ukazuje syntaxi EXCEPT operátor:

SELECT select_list1
FROM table1
EXCEPT
SELECT select_list2
FROM table2
Code language: SQL (Structured Query Language) (sql)

Tento dotaz musí splňovat následující pravidla:

  • Za prvé, počet sloupců ve výběrových seznamech obou dotazů musí být stejný.
  • Za druhé, pořadí sloupců a jejich typy musí být srovnatelné.

Následující příkazy vytvoří dvě tabulky t1 a t2 a vložte některá data do obou tabulek:

CREATE TABLE t1(
    v1 INT
);

INSERT INTO t1(v1)
VALUES(1),(2),(3);

CREATE TABLE t2(
    v2 INT
);
INSERT INTO t2(v2)
VALUES(2),(3),(4);
Code language: SQL (Structured Query Language) (sql)

Následující prohlášení ukazuje, jak používat EXCEPT operátor pro porovnání sad výsledků dvou dotazů:

SELECT v1
FROM t1
EXCEPT 
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)

Výstup je 1.

Následující obrázek ilustruje EXCEPT operace:

SQLite EXCEPT příklady

Použijeme artists a albums tabulky z ukázkové databáze pro ukázku.

Následující příkaz najde ID interpretů umělců, kteří nemají žádné album v albums tabulka:

SELECT ArtistId
FROM artists
EXCEPT
SELECT ArtistId
FROM albums;
Code language: SQL (Structured Query Language) (sql)

Výstup je následující:

V tomto tutoriálu jste se naučili používat SQLite EXCEPT operátor k porovnání dvou dotazů a vrácení jedinečných řádků z levého dotazu, které nejsou zobrazeny pravým dotazem.


  1. Nastavení hodnoty pro LIMIT při používání hromadného sběru

  2. Chyba MYSQLi:Uživatel již má aktivních připojení více než 'max_user_connections'

  3. Speciální znaky v PHP / MySQL

  4. Jak dát pozici nula spinneru rychlou hodnotu?