码迷,mamicode.com
首页 > 其他好文 > 详细

查询不同的语句

时间:2019-06-04 22:38:00      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:获得   服务   max   记录   一个   order   第一个   serve   content   

SQLSERVER服务器中,给定表 table1 中有两个字段 ID、LastUpdateDate,ID表示更新的事务号,

LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号。
答:1.SELECT ID FROM table1 
WHERE LastUpdateDate = (SELECT MAX(LastUpdateDate) FROM table1)
2.select top 1 ID from table1 order by LastUpdateDate desc
这两条回答有何区别?
结果是一样的,可是执行的效率肯定不一样。
看看语法,分析一下,第一个语句,是先从table1做一个全表的比较得到最大的日期,然后再用日期做匹配得到记录。而第二个直接一个全表的排序就查到了,看查询的次数来说,第二个要少一次,效率肯定要高。
还有,会不会存在lastupdatedate相同的记录呢?如果存在的话,第一个查询结果显示出来的记录不是一行,而第二个肯定值查询到一行记录。

查询不同的语句

标签:获得   服务   max   记录   一个   order   第一个   serve   content   

原文地址:https://www.cnblogs.com/wxc-love/p/10976514.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!