select null from table,exists和not exists 关键字的理解和使用场合

关键字exists 和not exists AND select null from table

  • select null from table。

这句sql语句的作用:查询表中的数据,如果有则返回为NULL ,就是把select * from table 中的所有信息替换成NULL ,理解一下就比较简单了。

图解
在这里插入图片描述
在这里插入图片描述

  • exists 关键字

exists 这个关键字返回的为boolean 类型的,并不是一些数据关联,如果条件成立。就返回为true ,表明这个条件成立,否则 false .

图解
在这里插入图片描述
在这里插入图片描述
总结

select null from table 就是把符合查询条件的数据所显示的数据替换成NULL。exists 就是如果存在数,就是true ,不存在就为false 。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在SQL查询中,"not in"和"not exists"都是用于在查询结果中排除特定条件的关键词。但是它们在实现和使用上有一些区别。 1. "not in"是用于排除具有指定值的行,基于给定的列表或子查询。例如,使用"not in"可以排除在一个表中具有特定名称的行,如下所示: SELECT name FROM student WHERE name NOT IN ('zhang', 'wang', 'zhao'); 2. "not exists"是用于排除子查询的结果中存在的行,基于子查询的结果是否为空。如果子查询返回的结果为空,则"not exists"返回true,否则返回false。例如,使用"not exists"可以排除在一个表中具有特定条件的行,如下所示: SELECT name FROM student s WHERE NOT EXISTS (SELECT 1 FROM other_table o WHERE o.student_id = s.id); 3. 性能方面,"not exists"通常比"not in"更有效率,尤其在外表和内表的大小不一致时。因为"not exists"使用了关联子查询,它会对外表进行循环,再对内表进行查询,而不是对整个结果集进行比较。相比之下,"not in"会将外表和内表进行哈希连接,可能导致性能下降。 所以,区别总结如下: - "not in"用于排除具有指定值的行,而"not exists"用于排除子查询中存在的行。 - "not exists"通常比"not in"更有效率,特别是在外表和内表大小不一致时。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [not in 和 not exist的区别](https://blog.csdn.net/chuqian0842/article/details/100770034)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值