exists用法(exist形容词)
你们好,最近小活发现有诸多的小伙伴们对于exist形容词,exists用法这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。
1、 select * from user where exists(选择1);
2、 对用户表的记录逐条取出,由于子查询中的选择1永远能返回记录行,
3、 那么用户表的所有记录都将被加入结果集,所以与select * from user是一样的
4、 不存在与存在相反,
5、 总的来说,如果A表有n条记录,那么存在查询就是将这n条记录逐条取出,
6、 然后判断n遍存在条件
7、 如果两个表中一个较小,一个是大表,则子查询表大的用存在,子查询表小的用在:
8、 例如:表一个(小表),表乙(大表)
9、 1:
10、 select * from A where cc in(select cc from B)效率低,
11、 用到了A表上复写的副本列的索引;
12、 select * from A where exists(select cc from B where cc=A . cc)效率高,
13、 用到了B表上复写的副本列的索引。
14、 2:
15、 select * from B where cc in(select cc from A)效率高,
16、 用到了B表上复写的副本列的索引;
17、 select * from B where exists(select cc from A where cc=B . cc)效率低用到了A表上复写的副本列的索引。
18、 不在和不存在
19、 如果描,没有用到索引;
20、 而不是extsts的子查询依然能用到表上的索引。
以上就是exists用法这篇文章的一些介绍,希望能帮助到大家。
扫描二维码推送至手机访问。
版权声明:文章内容摘自网络,如果无意之中侵犯了您的版权,请联系本站,本站将在3个工作日内删除。谢谢!