您的位置:首页 > 数据库 > MySQL

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' 的简写。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: