Skip to main content

SQLite除外

SQLite操作程序简介

SQLite EXCEPT运算符比较两个查询的结果集,并从左查询返回右查询未输出的不同行。

下面显示了EXCEPT运算符的语法:

SELECT select_list1
FROM table1
EXCEPT
SELECT select_list2
FROM table2

此查询必须符合以下规则:

以下语句创建了两个表t1和t2,并将一些数据插入这两个表中:

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);

下面的语句说明了如何使用EXCEPT运算符来比较两个查询的结果集:

SELECT v1
FROM t1
EXCEPT
SELECT v2
FROM t2;

输出为1。

下图说明了EXCEPT操作:

SQLite EXCEPT Operator Illustration

SQLite,示例除外

我们将使用示例数据库中的艺术家和专辑表进行演示。

以下语句查找albums表中没有任何唱片集的艺术家的艺术家ID:

SELECT ArtistId
FROM artists
EXCEPT
SELECT ArtistId
FROM albums;

结果如下:

SQLite EXCEPT Example

在本教程中,您学习了如何使用SQLite EXCEPT运算符比较两个查询,并从左查询返回右查询未输出的唯一行。