浏览 3172 次
锁定老帖子 主题:表的自连接同子查询有区别?
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-06-23
运用自连接同子查询之间有什么区别?请大家给点意见
SELECT R1.readerid,R1.readername,R1.unit,R1.bookcount
SELECT readerid,readername,unit,bookcount 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-06-23
那要看数据库操作系统的的实现,在各个数据库其中实现方式略有不同,最好是看一下其执行计划~~~~~~
|
|
返回顶楼 | |
发表时间:2008-06-24
方式二要求下面这个子查询的检索结果最多只有一条记录
SELECT bookcount --使用子查询 FROM ReaderInfo WHERE readerid=9704 方式一没有这个限制 不过,当这个子查询的结果有多条结果的时候 方式一得到的是个迪卡尔积 这种情况下,为了避免因为迪卡尔积而得到重复纪录,可以用exists方式 SELECT R1.readerid, R1.readername, R1.unit, R1.bookcount FROM ReaderInfo A WHERE exists ( select 1 from ReaderInfo R2 where R2.readerid=9704 and R2.bookcount < R1.bookcount ) ORDER BY R1.bookcount |
|
返回顶楼 | |
发表时间:2008-06-25
谢谢 armorking martri的指教
|
|
返回顶楼 | |
发表时间:2009-02-16
你应该从执行这条SQL的效率方面去思考用哪一个?
|
|
返回顶楼 | |