在和存在的区别以及存在和不同的去重的区别吗?

  

<强>小编相信大家都知道和存在的区别:
1,运用情况不同
sql中适用于子查询得出的结果集记录较少,主查询中的表较大且又有索引的表,. sql中存在适用于外层的主查询记录较少,子查询中的表大,又有索引的时候。

  

2,驱动顺序不同
在是先查询子查询的表,然后将内表和外表做一个笛卡尔积,然后按照条件进行筛选.exists是以外层表为驱动表,先被访问。

  

3,底层原理不同
在是把外表和内表作散列连接,而存在是对外表作循环循环,每次循环循环再对内表进行查询。

  

但是我昨天看到有位博主讲到还有一个区别就是对null值处理不同:在不对空进行处理,存在会对空值进行处理。这个我没有听过,所以本着好奇心就去测试了一下,我发现没有什么不同,查询出来的数据也是一样。至于其他的小编就不在这里一一测试的,有兴趣的小伙伴自己私下测试一下。

  

先创建两张表stu存放学生的编号,姓名以及班级
在和存在的区别以及存在和不同的去重的区别?”> <br/>等级表存放学生的编号以及分数。<br/> <img src=

  

所以小编今天整理一下,也希望更多网友不要跟我一样再犯傻了,浪费时间不说,还一直有一个错误的理解。
大家还有什么更好的想法欢迎给小编留言!

在和存在的区别以及存在和不同的去重的区别吗?