MySQL - 是否有可能获得两个查询结果的"差异"?

Rop*_*tah 17 mysql sql intersection

我需要合并两个查询结果,如同在union中,但我想只保留两个结果之间的差异.这可能吗?

我基本上选择查询1中的所有资源,以及查询2中的NOT-ALLOWED资源,我显然需要在上一个结果中使用ALLOWED资源.

在pseodo代码中:

Query1 - Query2
Run Code Online (Sandbox Code Playgroud)

Queryresult 1:

+-------+
|  id   |
+-------+
|   1   |
+-------+
|   2   |
+-------+
|   3   |
+-------+
|   4   |
+-------+
|   5   |
+-------+
|   6   |
+-------+
Run Code Online (Sandbox Code Playgroud)

Queryresult 2:

+-------+
|  id   |
+-------+
|   2   |
+-------+
|   5   |
+-------+
Run Code Online (Sandbox Code Playgroud)

需要:

+-------+
|  id   |
+-------+
|   1   |
+-------+
|   3   |
+-------+
|   4   |
+-------+
|   6   |
+-------+
Run Code Online (Sandbox Code Playgroud)

nic*_*ckf 49

像这样,使用NOT IN:

SELECT id FROM queryOneTable
WHERE id NOT IN (
    SELECT id FROM queryTwoTable
)
Run Code Online (Sandbox Code Playgroud)