SQL关于IN和EXISTS的区别

IN
确定给定的值是否与子查询或列表中的值相匹配。

EXISTS
指定一个子查询,检测行的存在。

比较使用 EXISTS 和 IN 的查询

exists()后面的子查询被称做相关子查询   他是不返回列表的值的.只是返回一个ture或false的结果,其运行方式是先运行主查询一次   再去子查询里查询与其对应的结果   如果是ture则输出,反之则不输出.再根据主查询中的每一行去子查询里去查询.  
   
  in()后面的子查询   是返回结果集的,换句话说执行次序和exists()不一样.子查询先产生结果集,然后主查询再去结果集里去找符合要求的字段列表去.符合要求的输出,反之则不输出.

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2025年1月    »
12345
6789101112
13141516171819
20212223242526
2728293031
搜索
标签列表
网站分类
最新留言
    文章归档
    友情链接

    Powered By Z-BlogPHP 1.7.3

    Copyright Your WebSite.Some Rights Reserved.闽ICP备11018667号-2