3

在 Oracle PL/SQL 中,我曾经写过:

SELECT * FROM MY_TABLE WHERE ROWNUM <= 100;

为了只获取名为 MY_TABLE 的表的前 100 条记录。

SQL SERVER 中的等效 SELECT 语句可能是什么?

4

5 回答 5

3

在 SQL-Server 中,您可以使用TOP选择编号。的行。

SELECT TOP 100 * FROM MY_TABLE
于 2012-06-27T12:27:01.467 回答
2
select top 100 * from tbl

列名是必需的或使用 *

于 2012-06-27T12:27:51.060 回答
1
SELECT TOP 100 * FROM MY_TABLE

对不起,如果我误解了。

编辑:必须更快

于 2012-06-27T12:28:56.083 回答
1
SELECT TOP 100 * FROM TABLE

您还可以使用 where class 过滤行

SELECT TOP 100 * FROM YOURTABLE WHERE YOURCONDITION
于 2012-06-27T12:34:06.057 回答
1

在 SQL Server 2012 中,您可以使用OFFSETFETCH来确定要返回的行。它们记录在ORDER BY; 这是有道理的,因为当表根据定义无序时,要求 100 行会产生不可预测的结果。

Similarly, if you use other's answers, re: TOP, you should also have an ORDER BY clause, or else it's not defined which rows will be returned.

于 2012-06-27T12:38:33.120 回答