请问下面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.所以不存在你说的效率问题.因为意义不一样.
------解决方案--------------------
------解决方案--------------------
top 一般是和order by 一起使用
------解决方案--------------------
两条语句所表达的意义不同,第一条是按序排列取对应字段的第一个值,第二条是取所有符合条件的字段值,结果相同只是因为本身这个表只有一条符合条件的记录。