MySQL MINUS

17 Mar 2025 | 阅读 2 分钟

MINUS 运算符是 SQL 中的一种集合操作,它也包括 INTERSECT、UNION 和 UNION ALL。MINUS 运算符返回第一个表/集合中的唯一元素,该元素在第二个表/集合中不存在。换句话说,它会比较两个查询的结果,并生成第一个查询结果集中存在但第二个查询结果集中不存在的行。

语法

以下是说明 MINUS 运算符用法的语法

注意:MySQL 不支持 MINUS 运算符。本文将介绍如何使用 JOIN 子句在 MySQL 中模拟 MINUS 查询。

以下是使用 MINUS 运算符的语句的规则

  • 所有 SELECT 语句中的列数和顺序必须相同。
  • 两个 SELECT 语句中对应列的数据类型必须相同或可转换。

我们可以通过以下可视化表示来理解 MINUS 运算符。此运算符返回由第一个 SELECT 语句 获得的结果集中的不重复/唯一值,而这些值在由第二个 SELECT 语句获得的结果集中不存在。

MySQL MINUS

模拟 MySQL MINUS 运算符

由于 MySQL 不支持 MINUS 运算符。但是,我们可以使用 LEFT JOIN 子句来模拟此运算符。

我们可以使用以下语法来模拟 MINUS 运算符

示例

为进行演示,我们首先创建两个具有以下结构的表

Table1 结构和数据

Table2 结构和数据

现在,我们将通过 LEFT JOIN 子句执行以下查询。它将产生与 MINUS 运算符相同的结果

输出

执行上述查询后,我们应该得到如下输出图像

MySQL MINUS
下一个主题MySQL INTERSECT