繁体   English   中英

SQL选择并查找其他表中不存在的行

[英]SQL Select and find rows that not exists in other table

我有两个带电话号码的桌子。

我想检查addresbook表中是否有新表在users表中不存在。

由于我是SQL的新手,因此此查询正确吗?

SELECT * 
FROM addressbook
WHERE NOT EXISTS (
  SELECT Phone1
  FROM users 
  WHERE addressbook.phone = users.phone1
)

编辑:我用PHPMyAdmin接口用户MySQL,对不起之前未指定

似乎还可以,但我会这样做。

select a.* from addressbook a
left outer join users u on a.phone = u.phone1
where
(u.phone1 is null)

这更简单,而且可能更快。

在SQL Server中,您的查询是

SELECT * from addressbook WHERE Phone NOT in (SELECT Phone1 from users)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM