SELECT: 從哪里查找什么 : SELECT?what FROM?where
單列
SELECT column_name FROM table_name;
多列
SELECT column01, column02... FROM table_name;
所有列
SELECT * FROM table_name; ?-- 每條語句最好都寫上查詢的具體列名,不建議寫*。因為解析通配符*會降低數(shù)據(jù)庫性能。
去重(DISTINCT)
SELECT DISTINCT column01 [, column02, column03...] FROM table_name;
雖然在英文中DISTINCT是個形容詞,但是在這里,最好把它當(dāng)成副詞理解。也就是它作用的是一行數(shù)據(jù)。
前幾行
這就是特性sql了。
SQL server
SELECT TOP 5 column01 [, column02, column03...] FROM table_name
Oracle
SELECT column01 [, column02, column03...] FROM table_name WHERE ROWNUM <=5;
MySql
SELECT column01 [, column02, column03...] FROM table_name LIMIT 5;
分頁查詢
MySql
SELECT ?*
FROM table_name
LIMIT firstIndex, pageSize;
設(shè)頁數(shù)為pageNum,則firstIndex = pageSize * (pageNum - 1)
Oracle(待補(bǔ)充,還沒有學(xué)oracle)
排序
SELECT column01 [, column02, column03...] FROM table_name ORDER BY column01 [, column02, column03...];
如果ORDER BY多列,則按先后順序進(jìn)行排序。如ORDER BY name, price;先按name排序,name相同的列再按price排序。
排序規(guī)則 :
正序(ASC 默認(rèn))和倒序(DESC)
...ORDER BY column01 ASC;
...ORDER BY column01 DESC;
ASC,DESC作用的是column,如果多列指定,所以需要在ORDER BY的每一個列都指定。