首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于select top语句的有关问题

2012-03-19 
关于select top语句的问题请问下面2条select语句有什么区别:SQL codeUSE AdventureWorksGO--语句1SELECT T

关于select top语句的问题
请问下面2条select语句有什么区别:

SQL code
USE AdventureWorksGO--语句1SELECT TOP 1 Name FROM Production.Product WHERE Name='Blade' AND MakeFlag=1--语句2SELECT Name FROM Production.Product WHERE Name='Blade' AND MakeFlag=1

这两句结果都是相同,如果写成第一句SELECT TOP 1是效率高,速度快吗??请高手解答。

[解决办法]
1.两句不等效,因为你查询的结果可能只有一条记录,如果有多条记录的话,第一句则只有一条记录,第二句有多条记录.
2.你的top 1 那句没有带order by 子句,没有意义.
3.所以不存在你说的效率问题.因为意义不一样.

[解决办法]
探讨

1.两句不等效,因为你查询的结果可能只有一条记录,如果有多条记录的话,第一句则只有一条记录,第二句有多条记录.
2.你的top 1 那句没有带order by 子句,没有意义.
3.所以不存在你说的效率问题.因为意义不一样.

[解决办法]
top 一般是和order by 一起使用
[解决办法]
两条语句所表达的意义不同,第一条是按序排列取对应字段的第一个值,第二条是取所有符合条件的字段值,结果相同只是因为本身这个表只有一条符合条件的记录。

热点排行