TOP
- TOP用于规定要返回的记录的数目。
- 对于拥有数千条记录的大型表来说,top是非常有用的,
注释 并非所有的数据库库系统都支持TOP。
* SQL Server的语法:*
SELECT TOP NUMBER|PERCENT COLUMN_NAME(S) FROM TABLE_NAME
MySQL和Oracle中的SQL SELECT TOP是等价的
- MySQL语法:
SELECT COLUMN_NAME(S) FROM TABLE_NAME LIMIT NUMBER
- 例子
SELECT * FROM CAR LIMIT 5
- Oracle语法
SELECT COLUMN_NAME(S) FROM TABLE_NAME WHERE ROWNUM <=NUMBER
- 例子
SELECT * FROM CAR WHERE ROWNUM<=5
CAR表:
VIN | BRAND | MODEL | PRICE | PRODUCTION_YEAR |
---|---|---|---|---|
LJCPCBLCX14500264 | Ford | Focus | 8000 | 2005 |
WPOZZZ79ZTS372128 | Ford | Fusion | 10000 | 2008 |
JF1BR93D7BG498281 | Toyota | Avensis | 10000 | 1999 |
KLATF08Y1VB363636 | Volkswagen | Golf | 3000 | 1992 |
1M8GDM9AXKP042788 | Volkswagen | Golf | 10000 | 2010 |
1HGCM82633A004352 | Volkswagen | Jetta | 6000 | 2003 |
1G1YZ23J9P5800003 | Fiat | Punto | 6000 | 1999 |
GS723HDSAK2399002 | Opel | Corsa | 89000.00 | 2007 |
LP859CCSRH5555963 | Toyota | Avensis | 12000.00 | 2009 |
LP859CCSRH5555962 | Opel | Punto | 13000.00 | 2012 |
- SQL TOP 实例
现在,我们希望从上面的CAR表中选取头两条记录。
我们使用下面的SELECT语句:
SELECT TOP 2 * FROM CAR;
PS:有的不支持TOP坑爹呀
- SQL TOP PERCENT 实例
现在我们希望从CAR表中选取吃30%的记录。
我们可以使用下面的SELECT语句:
SELECT TOP 50 PERCENT * FROM CAR
结果:
VIN | BRAND | MODEL | PRICE | PRODUCTION_YEAR |
---|---|---|---|---|
LJCPCBLCX14500264 | Ford | Focus | 8000 | 2005 |
WPOZZZ79ZTS372128 | Ford | Fusion | 10000 | 2008 |
JF1BR93D7BG498281 | Toyota | Avensis | 10000 | 1999 |
KLATF08Y1VB363636 | Volkswagen | Golf | 3000 | 1992 |
1M8GDM9AXKP042788 | Volkswagen | Golf | 10000 | 2010 |