首页 > 解决方案 > IN 运算符 mysql

问题描述

我对 IN 运算符以及它如何应用于模拟“EXCEPT”查询有疑问。所以我读过 INTERSECT 和 EXCEPT 在 MySQL 中不存在,解决这个问题的方法是使用 IN 和 NOT IN 运算符。例如。

SELECT column1 FROM table1
WHERE column1 IN (SELECT column1 FROM table2);  -- INTERSECT

SELECT column1 FROM table1
WHERE column1 NOT IN (SELECT column1 FROM table2); -- EXCEPT

所以我的问题与 IN 的工作原理有关;据我了解,这有点像一个长的 OR 语句。因此,当使用上面的代码时,一旦匹配了其中一行,它就不会停止吗?从而只返回匹配的 1 列。或者无论是否已经找到匹配项,IN 都会检查列中的所有行。

标签: mysqloperatorsmysql-workbench

解决方案


推荐阅读