加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

SQL补充学习(十):ANY运算符和ALL运算符的子查询

(2011-04-22 14:31:45)
标签:

sql

运算符

any

all

子查询

it

分类: SQL课程

10.ANY运算符的子查询和ALL运算符的子查询

在子查询中经过会用到any运算符,表示跟子查询中的每一个值进行比较。在比较过程中,如果有一个值为真,则整个子查询结果集的比较值就为真。

all运算符与any不同在于,它需要所有比较结果都为真,整个子查询结果集才为真。

 

10.1 ANY运算符的子查询实例

http://s11/middle/5f049388ga17c0cae4e2a&690
要求:从表中查询除了语文成绩最低的人以为的所有人的各科成绩。

select * from Table_4
where 语文>any (select 语文 from Table_4)

执行结果:

http://s14/middle/5f049388ga17c1af79add&690

10.2 比较运算符与any连用时的取值

 

比较运算符+any

所取子查询的结果

“>、>=、!<”+“any”

取最小值

“=”+“any”

取所有值,相当于in

“<>”+“any”

相当于not in

“<、<=、!>” +“any”

最大值

 

因为any表示认识一个的意思,比如大于,大于任何一个值即可,所以只要大于最小值就可以了。


10.3 ALL运算符的子查询实例

样例数据:

http://s14/middle/5f049388ga17ce1f1b43d&690

要求:查出分数scroe大于所有BEIJING地区学生score的学生信息

语句:

SELECT *
  FROM [mydata].[dbo].[Table_1]
where score>all(select score from Table_1 where address='BEIJING')

执行结果:

http://s8/middle/5f049388ga17cee33dab7&690

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有