SQLite
 sql >> Database >  >> RDS >> SQLite

SQLite tranne

Riepilogo :in questo tutorial imparerai come usare SQLite EXCEPT operatore.

Introduzione a SQLite EXCEPT operatore

SQLite EXCEPT l'operatore confronta i set di risultati di due query e restituisce righe distinte dalla query di sinistra che non vengono restituite dalla query di destra.

Quanto segue mostra la sintassi di EXCEPT operatore:

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

Questa query deve essere conforme alle seguenti regole:

  • In primo luogo, il numero di colonne negli elenchi di selezione di entrambe le query deve essere lo stesso.
  • In secondo luogo, l'ordine delle colonne e i loro tipi devono essere comparabili.

Le seguenti istruzioni creano due tabelle t1 e t2 e inserisci alcuni dati in entrambe le tabelle:

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)

La seguente istruzione illustra come utilizzare EXCEPT operatore per confrontare set di risultati di due query:

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

L'uscita è 1.

L'immagine seguente illustra il EXCEPT operazione:

SQLite EXCEPT esempi

Useremo gli artists e albums tabelle dal database di esempio per la dimostrazione.

La seguente dichiarazione trova gli ID artista di artisti che non hanno album negli albums tabella:

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

L'output è il seguente:

In questo tutorial, hai imparato a usare SQLite EXCEPT per confrontare due query e restituire righe univoche dalla query di sinistra che non vengono restituite dalla query di destra.