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

Intersection SQLite

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

Introduction à SQLite INTERSECT opérateur

SQLite INTERSECT compare les ensembles de résultats de deux requêtes et renvoie des lignes distinctes qui sont générées par les deux requêtes.

Ce qui suit illustre la syntaxe de INTERSECT opérateur :

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

Les règles de base pour combiner les jeux de résultats de deux requêtes sont les suivantes :

  • Tout d'abord, le nombre et l'ordre des colonnes dans toutes les requêtes doivent être identiques.
  • Deuxièmement, les types de données doivent être comparables.

Pour la démonstration, nous allons créer deux tables t1 et t2 et insérez des données dans les deux :

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 INTERSECT opérateur pour comparer les ensembles de résultats de deux requêtes :

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

Voici le résultat :

L'image suivante illustre l'INTERSECT opération :

SQLite INTERSECT exemple

Pour la démonstration, nous utiliserons les customers et invoices tables de l'exemple de base de données.

L'instruction suivante recherche les clients qui ont des factures :

SELECT CustomerId
FROM customers
INTERSECT
SELECT CustomerId
FROM invoices
ORDER BY CustomerId;
Code language: SQL (Structured Query Language) (sql)

L'image suivante montre la sortie partielle :

Dans ce tutoriel, vous avez appris à utiliser SQLite INTERSECT opérateur pour comparer deux requêtes et renvoyer des lignes distinctes qui sont générées par les deux requêtes.