我不太确定何时只选择一定数量的行比简单地制作更具体的select语句更好.我有一种感觉,我错过了一些非常直接的东西,但我无法理解.我有不到6个月的任何SQL经验,这是粗略的,所以我很抱歉,如果这是一个非常简单的问题,但我找不到一个明确的答案.
我知道两个常见用途:
分页:务必指定排序.如果未指定排序,则许多db实现使用任何方便执行查询的方法.这种"最佳"排序行为可能会产生非常不可预测的结果.
SELECT top 10 CustomerName
FROM Customer
WHERE CustomerID > 200 --start of page
ORDER BY CustomerID
Run Code Online (Sandbox Code Playgroud)
子查询:可以发出子查询的许多地方要求结果是单个值.在许多情况下,前1只比最大速度快.
--give me some customer that ordered today
SELECT CustomerName
FROM Customer
WHERE CustomerID =
(
SELECT top 1 CustomerID
FROM Orders
WHERE OrderDate = @Today
)
Run Code Online (Sandbox Code Playgroud)