SQLite
 sql >> Base de données >  >> RDS >> SQLite

SQLite Sauf

Résumé :dans ce tutoriel, vous apprendrez à utiliser le SQLite EXCEPT opérateur.

Introduction à SQLite EXCEPT opérateur

SQLite EXCEPT compare les ensembles de résultats de deux requêtes et renvoie des lignes distinctes de la requête de gauche qui ne sont pas générées par la requête de droite.

Ce qui suit montre la syntaxe de EXCEPT opérateur :

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

Cette requête doit respecter les règles suivantes :

  • Tout d'abord, le nombre de colonnes dans les listes de sélection des deux requêtes doit être le même.
  • Deuxièmement, l'ordre des colonnes et leurs types doivent être comparables.

Les instructions suivantes créent deux tables t1 et t2 et insérez des données dans les deux tables :

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)

L'instruction suivante illustre comment utiliser le EXCEPT opérateur pour comparer les ensembles de résultats de deux requêtes :

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

La sortie est 1.

L'image suivante illustre le EXCEPT opération :

SQLite EXCEPT exemples

Nous utiliserons les artists et albums tables de l'exemple de base de données pour la démonstration.

L'instruction suivante trouve les identifiants d'artistes des artistes qui n'ont aucun album dans les albums tableau :

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

Le résultat est le suivant :

Dans ce tutoriel, vous avez appris à utiliser le SQLite EXCEPT opérateur pour comparer deux requêtes et renvoyer des lignes uniques de la requête de gauche qui ne sont pas générées par la requête de droite.