读书人

比较两sql文的查询结果有什么区别 马

发布时间: 2012-09-10 11:02:32 作者: rapoo

比较两sql文的查询结果有什么区别 马上结贴
select top 100 teststudent.testarrangeid,teststudent.studentuserid,teststudent.paperid,answersheet.studentid,answersheet.score,answersheet.studentname,answersheet.paperid,u.usercode,u.chinesename as truename,paper.paperdesignid from teststudent
inner join userinfo u on teststudent.studentuserid=u.userid
left join answersheet on u.name=answersheet.studentid and answersheet.paperid=teststudent.paperid
inner join paper on paper.paperid=teststudent.paperid
where teststudent.paperid=32
----------------------------------------
select top 100 teststudent.studentuserid from teststudent
inner join userinfo u on teststudent.studentuserid=u.userid
left join answersheet on u.name=answersheet.studentid and answersheet.paperid=teststudent.paperid
inner join paper on paper.paperid=teststudent.paperid
where teststudent.paperid=32

第一个查询结果:

SQL code
testarrangeid studentuserid paperid     studentid            score                                                 studentname                    paperid     usercode                                                                                             truename                                           paperdesignid ------------- ------------- ----------- -------------------- ----------------------------------------------------- ------------------------------ ----------- ---------------------------------------------------------------- -------------------------------------------------- ------------- 28            1036          32          S1132012147          54.0                                                  NULL                           32          1132012147                                                                                           戴翠叶                                                3328            1075          32          S1132012227          73.0                                                  NULL                           32          1132012227                                                                                           廖荣华                                                3328            9198          32          S1101092133          76.0                                                  NULL                           32          1101092133                                                                                           柴琳                                                 3328            9199          32          S1101092134          74.0                                                  NULL                           32          1101092134                                                                                           王艺                                                 3328            9200          32          S1101092135          62.0                                                  NULL                           32          1101092135                                                                                           孙萌                                                 3328            9201          32          S1101092136          81.0                                                  NULL                           32          1101092136                                                                                           王晶                                                 33

第二个查询结果:
studentuserid
-------------
1036
1075
2484
2558
2583
2611
只要注意 studentuserid 字段, 看区别, 为什么会这样?

[解决办法]
Order by 唯一属性
------解决方案--------------------


取top 有随机性,你不妨排个序
[解决办法]
studentuserid是不是主键?不是的话 排序是随机的 需要自己再ORDER BY studentuserid排序
[解决办法]

探讨
难道是因为它不是主键 所以在有其他的字段 就不在用作默认的排序字段的原因?
谢谢

[解决办法]
楼主试着取个主键字段试试看是不是一样

读书人网 >SQL Server

热点推荐