在 MySQL 中,并没有直接的 `MINUS` 或 `EXCEPT` 运算符(这两个是 Oracle 和 SQL Server 中的语法)。不过你可以通过其他方式实现类似的功能:.md

在 MySQL 中,并没有直接的 MINUSEXCEPT 运算符(这两个是 Oracle 和 SQL Server 中的语法)。不过你可以通过其他方式实现类似的功能:


方法 1:使用 NOT IN

SELECT * FROM table1 
WHERE column NOT IN (SELECT column FROM table2);

方法 2:使用 LEFT JOIN + WHERE

SELECT t1.* 
FROM table1 t1
LEFT JOIN table2 t2 ON t1.column = t2.column
WHERE t2.column IS NULL;

方法 3:使用 NOT EXISTS

SELECT * FROM table1 t1
WHERE NOT EXISTS (
    SELECT 1 FROM table2 t2 
    WHERE t2.column = t1.column
);

示例场景:

假设你想获取 employees 表中不在 managers 表中的员工:

SELECT name FROM employees 
WHERE name NOT IN (SELECT name FROM managers);

posted @ 2025-06-20 15:37  Dminter  阅读(37)  评论(0)    收藏  举报