代码点读机 / SQL / EXCEPT

EXCEPT SQL · 查询子句

EXCEPT 返回在第一个 SELECT 结果中但不在第二个 SELECT 结果中的行。

怎么用

SELECT 列 FROM 表A EXCEPT SELECT 列 FROM 表B; 取两个查询的差集

小例子

SELECT 姓名 FROM 一班学生 EXCEPT SELECT 姓名 FROM 二班学生;

运行结果

返回只在一班出现、不在二班出现的学生姓名。

提醒:MySQL 8.0.31 起才支持 EXCEPT,更老版本可用 LEFT JOIN ... IS NULL 或 NOT IN 改写;SQLite 支持

官方文档:https://www.sqlite.org/lang_select.html

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← SQL全部词条