MySQL数据库(12)----ALL、ANY、SOME子查询
2016-07-28 10:44
417 查看
运算符 ALL 和 ANY 常与某个关系比较运算符结合在一起使用,以便测试列子查询的结果。它们会测试比较值与子查询返回的全部或部分值是否匹配。例如,当比较值小于或等于子查询返回的每个值时,<= ALL 的结果为真;当比较值小于或等于子查询返回的任意值时,<= ANY 的结果为真。SOME 是 ANY 的同义词。
下面这条语句可以用来检索成绩最高的学生:
mysql> SELECT name , score FROM student -> WHERE score >= ALL(SELECT score FROM student);
下面这条语句的用处就不大了,它会返回所有的行,因为对于每一个学生,都至少会有一个学生的成绩小于或等于他的成绩:
mysql> SELECT name, score FROM student -> WHERE score <= ANY (SELECT score FROM student);
值得注意的是,'IN' 是 '= ANY' 的简写,'NOT IN' 是 '<> ALL' 的简写。
相关文章推荐
- Mysql使用索引实现查询优化
- MySQL基础(三)
- mysql表分区
- MySQL数据库(11)----使用子查询实现多表查询
- MySQL数据库(10)----IN 和 NOT IN 子查询
- MySQL 5.7并行复制时代
- Mysql行号
- mysql 字符集(CHARACTER SET)和校对集(COLLATE)
- mysql UNIX时间戳与日期的相互转换
- mysql5.7.13二进制包安装多实例
- Hibernate+Mysql写数据库的中文乱码问题
- 淘宝内部分享:怎么跳出MySQL的10个大坑
- MySQL快速复制数据库的方法
- Mysql的基本操作命令 (转载)
- MySQL 配置优化
- linux下C语言编程操作MySQL数据库
- MySql中表单输入数据出现中文乱码的解决方法
- mysql自动安装脚本
- mysql常用操作指令总结
- Mysql5.7初始化成空密码或随机密码的方式