Mysql子查询关键字的使用方式(exists)
更新时间:2022年07月07日 15:13:09 作者:leo_messi94
这篇文章主要介绍了Mysql子查询关键字的使用方式(exists),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
1. all
1.1 格式
1.2 特点
- all:与子查询返回的所有值比较为true则返回true
- all可以与=,>=,>,<,<=,<>结合使用,分别表示等于,大于等于,大于,小于,小于等于,不等于其中的所有数据
- 大于all表示指定列中的值必须要大于子查询集中的每一个值,即必须要大于子查询集的最大值;如果是小于即小于子查询中的最小值。
1.3 操作
2. any(some)
1.1 格式
1.2 特点
- any:与子查询返回的所有值比较为true则返回true
- any可以与=,>=,>,<,<=,<>结合使用,分别表示等于,大于等于,大于,小于,小于等于,不等于其中的任何一个数据
- 大于any表示指定列中的值必须要大于子查询集中的任何一个值,即必须要大于子查询集的最小值;其他同理
- some可以理解为any的别名
1.3 操作
3. in
1.1 格式
1.2 特点
- in用于判断某个记录的值,是否在指定的集合中
- 在in关键字前边加上not可以将条件反过来
1.3 操作
4. exist
1.1 格式
1.2 特点
- 该子查询如果“有数据结果”(至少返回一行数据),则该EXISTS()结果为:true,外层查询执行
- 该子查询如果“没有数据结果”(没有任何数据返回),则该EXISTS()结果为:false,外层查询不执行
- EXISTS后面的子查询不返回任何实际数据,只返回真或假,当返回真时where条件成立
- 注意:EXISTS关键字,比IN关键字的运算效率高,因此,在实际开发中,特别是大数据量时,推荐使用EXISTS关键字
1.3 操作
1.4 解释
外层查询进行查询时,外层查询会一行一行执行,第一行执行时,判断子查询是否为true,为true则此行数据被查出,接着第二行查询。。。以此往复。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
MySQL修改安全策略时报错:ERROR 1193 (HY000)的解决办法
这篇文章主要给大家介绍了关于MySQL修改安全策略时报错:ERROR 1193 (HY000): Unknown system variable ‘validate_password_policy‘的解决方法,文中通过图文介绍的非常详细,需要的朋友可以参考下2023-02-02将MySQL help contents的内容有层次的输出方法推荐
如何将MySQL help contents的内容有层次的输出呢?下面小编就为大家带来一篇将MySQL help contents的内容有层次的输出方法推荐。小编觉得挺不错的,现在分享给大家,给大家一个参考。一起跟随小编过来看看吧2016-03-03关于mysql innodb count(*)速度慢的解决办法
innodb引擎在统计方面和myisam是不同的,Myisam内置了一个计数器,所以在使用 select count(*) from table 的时候,直接可以从计数器中取出数据。而innodb必须全表扫描一次方能得到总的数量2012-12-12mysql8.0.14.zip安装时自动创建data文件夹失败服务无法启动
这篇文章主要介绍了mysql8.0.14.zip安装时自动创建data文件夹失败,导致服务无法启动的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2019-02-02编写脚本令Xtrabackup对MySQL数据进行备份的教程
这篇文章主要介绍了编写脚本令Xtrabackup对MySQL数据进行备份的教程,示例环境基于CentOS系统,需要的朋友可以参考下2015-12-12
最新评论