1. 程式人生 > 其它 >left join 和top一起使用_SQL基礎知識——TOP

left join 和top一起使用_SQL基礎知識——TOP

技術標籤:left join 和top一起使用

SQL執行順序

按慣例先上SQL Server查詢順序,小括號()裡面的數字程式碼資料庫引擎在執行查詢語句時候的先後順序,從1開始:

(8)SELECT

(9)DISTINCT

(11)

(1)FROM [left_table]

(3) JOIN

(2) ON

(4)WHERE

(5)GROUP BY

(6)WITH

(7)HAVING

(10)ORDER BY

TOP 子句定義

TOP 子句用於規定要返回的記錄的數目。

對於擁有數千條記錄的大型表來說,TOP 子句是非常有用的。

註釋:並非所有的資料庫系統都支援 TOP 子句。

SQL Server TOP 的語法

SELECT TOP number|percent columnsFROM table_name

MySQL 和 Oracle 中的 SQL SELECT TOP 是等價的

MySQL 語法

SELECT columnsFROM table_name LIMIT number

例子

SELECT * FROM Customers LIMIT 5

Oracle 語法

SELECT columnsFROM table_name WHERE ROWNUM <= number

例子

SELECT * FROM Customers WHERE ROWNUM <= 5

原始的表 (用在例子中的)Customers表:

f37f8f80ec19cf83d75eb6401463c47f.png

TOP 例項

現在,我們希望從上面的 "Customers" 表中選取頭兩條記錄。

我們可以使用下面的 SELECT 語句:

SELECT TOP 2 * FROM Customers

結果:

812716b2f1689602a350962f783c9e2e.png

TOP PERCENT 例項

現在,我們希望從上面的 "Customers" 表中選取 50% 的記錄。

我們可以使用下面的 SELECT 語句:

SELECT TOP 50 PERCENT * FROM Customers

結果:

70208df41e40889d8705c722921f2aed.png

註釋:因為總記錄數只有5條,總條數的50%只能取到2.5條,但是條數只有整數條,這是不符合常理的,所有結果會自動向上取整,顯示3條。

批註

TOP主要用在對查詢結果進行分頁,這樣可以減少顯示的資料量,提高查詢效率。後面接數字則顯示指定的條數,後面接百分數則顯示總體資料的百分比。一般與ORDER BY結合使用。