首頁>Program>source

一个簡短的問题.假設我有以下两个查詢:

SELECT TOP 2 * FROM Persons;

SELECT * FROM Persons limit 2;

我想知道上述两个查詢的執行之間的區別吗? 基本上,我想知道何時應该使用 limit 關鍵字以及何時使用 top 關键詞。 此外,資料庫如何根据上述两个查詢返迴結果。

30

sql

最新回復
  • 5月前
    1 #

    如果使用的是SQL Server,請使用 TOP 如果您使用的是 MySQLPostgres 使用 Limit

    AFAIK目前没有产品同時支援两者.這是当前實現的一个列表,另外一个(包含更多产品,但细节较少)

  • 5月前
    2 #

    正如我在上面對Martin Smith的迴答的評論中所述,有些产品支援這两種方式 和 LIMIT (如您在此處看到的).不同之處在於 TOP 只選擇前n條記錄,但是 TOP 允许定義偏移量以檢索特定範圍的記錄:

    LIMIT
    

    此語句在跳過10條記錄後選擇前5條記錄,而 SELECT * FROM ... LIMIT 5 OFFSET 10則不可能

    我發佈的示例仅根据我上面鏈接的DBS进行了檢查.由於時間不足,我没有檢查SQL標準。

  • 5月前
    3 #

    TOP&LIMIT都可以在Amazon Redshift上工作

  • 5月前
    4 #

    TOP 適用於MySQL和PostgreSQL, limit 適用於SQL Server, top 在Oracle上可用。

  • 5月前
    5 #

    没有區別.維兹威兹 和 rownum 關鍵字的功能相同,並且会返迴相同的內容。

    TOP

  • 方法名稱必须以findBy或findOneBy開頭未定義的方法Symfony?
  • C#winForms中的ToggleButton