更新时间:
#mysql Exists 用法
用法:Select * from TableA a where Not Exists (Select * from TableB b where a.id=b.id and a.name=b.name);
1、Not Exists 用在where之后,且后面紧跟子查询语句(带括号);
2、Not Exists(Exists) 并不关心子查询的结果具体是什么,只关心子查询有没有结果;
3、这条语句的意思,把TableA的记录逐条代入到子查询,如果子查询结果集为空,说明不存在,那么这条TableA的记录出现在最终结果集,否则被排除;
在MySQL中,可以使用以下语句查询ID不连续的记录:
SELECT *
FROM table_name t1
WHERE NOT EXISTS (
SELECT *
FROM table_name t2
WHERE t2.id = t1.id + 1 // 改成t1.id= t2.id+1 也会多出最小的id。而这个id算是连续的。取结果集时候要去掉
);
#评论
#评论 1 · 2024-12-09T00:01:25.480000Z
https://www.depesz.com/2024/12/01/sql-best-practices-dont-compare-count-with-0/ 用exists 判断 有没有,而不是count(1) ==0 . 简单点可以 select id from table limit 1 , 一般情况 不用这个扣性能