ZBLOG

mysql 中 not exists

NOT EXISTS 是一个用于查询的关键字,它用于测试第二个查询是否为“空”。如果不存在结果,则第一次查询被提交。 因此,NOT EXISTS 用于在不必要地搜索大量数据时优化 SELECT 查询。

例如,以下查询将从 employees 表中检索所有工资小于 50000 的员工:

SELECT * FROM employees WHERE salary < 50000;

但是,如果您要查找该公司没有接收到任何奖金的员工,则可以使用 NOT EXISTS 来优化查询:

SELECT * FROM employees WHERE NOT EXISTS (SELECT * FROM bonuses WHERE bonuses.emp_id = employees.id);

在这个例子中,子查询(SELECT * FROM bonuses WHERE bonuses.emp_id = employees.id)将确定员工是否有奖金。 如果查询返回结果,则 NOT EXISTS 将返回 FALSE,并且该行将从结果集中排除。 否则,该行将包含在结果中。

需要注意的是,NOT EXISTS 子句比 IN 子句更有效,因为 NOT EXISTS 可以忽略大量的无关数据。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=1369

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?