51CTO技术论坛 » 微软SQL Server专区 » SQL Server数据库管理 » 这是自连接么?        上一帖     下一帖    查看完整版本

页: [1]

maiyude2006-12-22 02:17
这是自连接么?

都是使用sql server自带的pubs数据库,
1.use pubs
select title,type,advance
from titles t1
where t1.advance >(select avg(t2.advance) from titles t2
where t1.type=t2.type)
结果集为7
2.select title,type,advance
from titles t1
where t1.advance >(select avg(t2.advance) from titles t2
) 结果集为8

偶也以为:
前者的意思:
查出 按type分类,advance 大于本类平均值的记录
后者的意思:
查出 advance 大于全部平均值的记录

可是
[前者的意思:
查出 按type分类,advance 大于本类平均值的记录]
这样的话,是否说每个type分类都要返回一条平均值的值,所以总体应该有多个返回值,为何下面的语句只有一条返回值呢:?
select avg(t2.advance) from titles t2, titles t1
where t1.type=t2.type

阿楚2006-12-22 10:04
select avg(t2.advance) from titles t2, titles t1 where t1.type=t2.type
这条查询的返回值是 avg(t2.advance) ,即advance这一字段所有符合条件值的平均值,当然也就只有一条返回值。

关键词: 连接              

相关文章:
用单网卡连接两个网段
快捷友情连接 v5.0
关于发送邮件到hotmail转到垃圾邮件里的问题
Win XP SP2下双机无线网卡对连实战(图)
如何实现一机连接双网?

查看完整版本: 这是自连接么?


Powered by 51CTO.COM