首页 > 代码库 > SQL中EXISTS使用
SQL中EXISTS使用
EXISTS的作用和IN一样,判断是否包含
建立两张表,第一张T_USER表,如下:
第二张,T_DEP表,表结构如下:
两张表结构,都非常简单,没有添加约束。
此时执行下列SQL:
select * from t_user u where exists( select 1 from t_dep d where u.depno = d.id)
得到如下结果:
等同于使用IN:
select * from t_user u where u.depno in ( select d.id from t_dep d)
可以这样来理解,先执行 select * from t_user 得到记录之后,再依次去判断该记录是否存在EXISTS的条件中。
而且不管select 1 换成那个字段,都不影响结果。
查阅的值,数据较多的时候,使用EXISTS的效率表IN的效率要高。因为IN无视索引。
SQL中EXISTS使用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。