+ -
当前位置:首页 → 问答吧 → 比较两sql文的查询结果有什么区别 马上结贴

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

时间:2011-12-06

来源:互联网

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                                                                                           戴翠叶                                                33
28            1075          32          S1132012227          73.0                                                  NULL                           32          1132012227                                                                                           廖荣华                                                33
28            9198          32          S1101092133          76.0                                                  NULL                           32          1101092133                                                                                           柴琳                                                 33
28            9199          32          S1101092134          74.0                                                  NULL                           32          1101092134                                                                                           王艺                                                 33
28            9200          32          S1101092135          62.0                                                  NULL                           32          1101092135                                                                                           孙萌                                                 33
28            9201          32          S1101092136          81.0                                                  NULL                           32          1101092136                                                                                           王晶                                                 33

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

作者: querystringcom   发布时间: 2011-12-06

Order by 唯一属性

作者: WaterMM   发布时间: 2011-12-06

楼上的意思是? 必须排序?

作者: querystringcom   发布时间: 2011-12-06

取top 有随机性,你不妨排个序

作者: ssp2009   发布时间: 2011-12-06

问题是 把别的字段都去掉 只剩下studentuserid 字段 就是一样的 为什么呢? 奇怪。。。

作者: querystringcom   发布时间: 2011-12-06

studentuserid是不是主键?不是的话 排序是随机的 需要自己再ORDER BY studentuserid排序

作者: fredrickhu   发布时间: 2011-12-06

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

作者: querystringcom   发布时间: 2011-12-06

引用 6 楼 querystringcom 的回复:
难道是因为它不是主键 所以在有其他的字段 就不在用作默认的排序字段的原因?
谢谢

不是主键 就会按照主键所在的列排序。

作者: fredrickhu   发布时间: 2011-12-06

楼主试着取个主键字段试试看是不是一样

作者: pengxuan   发布时间: 2011-12-06