替代 MySQL 中的 except

新手上路,请多包涵

我必须在 MySQL 中编写这样的查询:

 SELECT *
FROM Tab1
EXCEPT
SELECT *
FROM Tab1
WHERE int_attribute_of_Tab1>0

但 MySQL 不支持关键字 EXCEPT 。是否有 标准模式 可以正确使用另一个模拟 MySQL 中的 except 的运算符?

原文由 Antonio1996 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 920
2 个回答

你可以使用 NOT IN

 SELECT *
FROM Tab1
WHERE id  NOT IN (
    SELECT id
    FROM Tab1
    WHERE int_attribute_of_Tab1>0
)

原文由 Ben Swinburne 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以将多个 NOT IN 运算符与 AND 运算符组合用于多个列。例如:

 SELECT col1, col2 FROM table1 WHERE col1 NOT IN(SELECT col1 FROM table2) AND col2 NOT IN(SELECT col2 FROM table2)...;

原文由 Sukhbir 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题