我想运行一个简单的查询来抛出Table1行中的所有行,其中主列值不存在于另一个表(Table2)的列中.

我试着使用:

SELECT * FROM Table1 WHERE Table1.principal NOT IN Table2.principal

而是抛出一个语法错误.谷歌搜索把我带到了一些论坛,人们说MySQL不支持NOT IN,需要使用一些非常复杂的东西.这是真的吗?还是我犯了一个可怕的错误?

推荐答案

要在中使用,必须有一个集合,请使用以下语法:

SELECT * FROM Table1 WHERE Table1.principal NOT IN (SELECT principal FROM table2)

Mysql相关问答推荐

根据键的数量,SQL Json字段分为行

如何重新采样SQL数据库

如何获得表中只有最大值行的一个列被另一个列分区?

不分组寻呼

Select 同一张表中的结果数?

如何在 Shopware 6 DAL 中实施 Haversine 公式?

如何使用mysql更新列中的json数据

关联同一个表中的两列

如何编写按天数汇总值的sql查询?

有人可以帮我用 R 编程解决这个问题吗?

仅当其他行相等时才 Select 行值

MySQL:从 n 个关系表中 Select 所有具有 MAX() 值的行

查询mysql中无法识别数据值

如何在 Mysql 中创建复合外键

计算每个用户在第二个表中有多少条记录

如何按给定开始日期和结束日期的月份汇总?

If else on WHERE 子句

MYSQL:创建表中的索引关键字以及何时使用它

如何计算表格的列数

MySQL连接查询使用like?