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表:
TOP 例項
現在,我們希望從上面的 "Customers" 表中選取頭兩條記錄。
我們可以使用下面的 SELECT 語句:
SELECT TOP 2 * FROM Customers
結果:
TOP PERCENT 例項
現在,我們希望從上面的 "Customers" 表中選取 50% 的記錄。
我們可以使用下面的 SELECT 語句:
SELECT TOP 50 PERCENT * FROM Customers
結果:
註釋:因為總記錄數只有5條,總條數的50%只能取到2.5條,但是條數只有整數條,這是不符合常理的,所有結果會自動向上取整,顯示3條。
批註
TOP主要用在對查詢結果進行分頁,這樣可以減少顯示的資料量,提高查詢效率。後面接數字則顯示指定的條數,後面接百分數則顯示總體資料的百分比。一般與ORDER BY結合使用。