Mysql 从另一个表中不存在列值的表中选择
我的问题是,我想防止查询结果显示另一个表位中存在的行,您可以使用:Mysql 从另一个表中不存在列值的表中选择,mysql,sql,Mysql,Sql,我的问题是,我想防止查询结果显示另一个表位中存在的行,您可以使用: SELECT Id, Name, Lastname FROM customers AS c, Places AS p, WHERE c.customer_ID = p.customer_ID 这是使用in/exists的更快方法。添加 SELECT Id, Name, Lastname FROM customers AS c JOIN Places AS p USING(customer_ID) 对于您的查询您可以执行
SELECT Id, Name, Lastname
FROM customers AS c, Places AS p,
WHERE c.customer_ID = p.customer_ID
这是使用in/exists的更快方法。添加
SELECT Id, Name, Lastname
FROM customers AS c JOIN Places AS p USING(customer_ID)
对于您的查询您可以执行左连接并检查空值
and not exists
(subquery to select your exclusions)
我想你想要这样的东西: 选择Id、名称、姓氏 来自客户,
如果customer\u ID不在SELECT customer\u ID FROM Places对不起,我想说的是,如果使用IF NOT EXISTS构造,或者在ON子句中左键连接另一个表,其中另一个表中的某个不可为NULL的列为NULL。MySQL支持using关键字吗?你指的是什么关键字?非常感谢,那很有用,嘿,又来了!!对不起,我是新手。结果正好相反,我想要阻止显示该行的查询结果(如果存在)到另一个表。对于大型数据集,not in非常慢。你是对的。再想一想,显然不存在一定要快。它可以停止时,一个记录被发现,而我应该检查所有的记录在不在。。。部分
SELECT Id, Name, Lastname
FROM customers AS c LEFT JOIN Places AS p ON c.customer_ID = p.customer_ID
WHERE p.customer_ID IS NULL