SQLite
 sql >> Base de Dados >  >> RDS >> SQLite

Exceto SQLite


Resumo :neste tutorial, você aprenderá como usar o SQLite EXCEPT operador.

Introdução ao SQLite EXCEPT operador


SQLite EXCEPT O operador compara os conjuntos de resultados de duas consultas e retorna linhas distintas da consulta esquerda que não são geradas pela consulta direita.

O seguinte mostra a sintaxe do EXCEPT operador:
SELECT select_list1
FROM table1
EXCEPT
SELECT select_list2
FROM table2
Code language: SQL (Structured Query Language) (sql)

Essa consulta deve obedecer às seguintes regras:
  • Primeiro, o número de colunas nas listas de seleção de ambas as consultas deve ser o mesmo.
  • Segundo, a ordem das colunas e seus tipos devem ser comparáveis.

As instruções a seguir criam duas tabelas t1 e t2 e insira alguns dados em ambas as tabelas:
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)

A instrução a seguir ilustra como usar o EXCEPT operador para comparar conjuntos de resultados de duas consultas:
SELECT v1
FROM t1
EXCEPT 
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)

A saída é 1.

A imagem a seguir ilustra o EXCEPT Operação:

SQLite EXCEPT exemplos


Usaremos os artists e albums tabelas do banco de dados de exemplo para a demonstração.

A instrução a seguir encontra IDs de artistas que não têm nenhum álbum nos albums tabela:
SELECT ArtistId
FROM artists
EXCEPT
SELECT ArtistId
FROM albums;
Code language: SQL (Structured Query Language) (sql)

A saída é a seguinte:

Neste tutorial, você aprendeu como usar o SQLite EXCEPT operador para comparar duas consultas e retornar linhas exclusivas da consulta esquerda que não são geradas pela consulta direita.