sql >> Base de Datos >  >> RDS >> SQLite

SQLite excepto

Resumen :en este tutorial, aprenderá a usar SQLite EXCEPT operador.

Introducción a SQLite EXCEPT operador

SQLite EXCEPT El operador compara los conjuntos de resultados de dos consultas y devuelve filas distintas de la consulta de la izquierda que no son generadas por la consulta de la derecha.

A continuación se muestra la sintaxis de EXCEPT operador:

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

Esta consulta debe ajustarse a las siguientes reglas:

  • Primero, el número de columnas en las listas de selección de ambas consultas debe ser el mismo.
  • En segundo lugar, el orden de las columnas y sus tipos deben ser comparables.

Las siguientes declaraciones crean dos tablas t1 y t2 e inserte algunos datos en ambas tablas:

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 siguiente declaración ilustra cómo usar el EXCEPT operador para comparar conjuntos de resultados de dos consultas:

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

La salida es 1.

La siguiente imagen ilustra el EXCEPT operación:

SQLite EXCEPT ejemplos

Usaremos los artists y albums tablas de la base de datos de ejemplo para la demostración.

La siguiente declaración encuentra ID de artista de artistas que no tienen ningún álbum en los albums tabla:

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

La salida es la siguiente:

En este tutorial, ha aprendido a usar SQLite EXCEPT operador para comparar dos consultas y devolver filas únicas de la consulta de la izquierda que no son generadas por la consulta de la derecha.