Skip to main content

SQLite相交

SQLite相交算子简介

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

下面说明了INTERSECT运算符的语法:

SELECT select_list1
FROM table1
INTERSECT
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);

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

SELECT v1
FROM t1
INTERSECT
SELECT v2
FROM t2;

以下是输出:

SQLite INTERSECT operator example

下图说明了INTERSECT操作:

SQLite INTERSECT

SQLite交集示例

对于演示,我们将使用示例数据库中的客户和发票表。

以下声明查找有发票的客户:

SELECT CustomerId
FROM customers
INTERSECT
SELECT CustomerId
FROM invoices
ORDER BY CustomerId;

下图显示了部分输出:

SQLite INTERSECT example

在本教程中,您学习了如何使用SQLite INTERSECT操作符来比较两个查询,并返回两个查询输出的不同行。