SELECT: 从哪里查找什么 : SELECT what FROM where
单列
SELECT column_name FROM table_name;
多列
SELECT column01, column02... FROM table_name;
所有列
SELECT * FROM table_name; -- 每条语句最好都写上查询的具体列名,不建议写*。因为解析通配符*会降低数据库性能。
去重(DISTINCT)
SELECT DISTINCT column01 [, column02, column03...] FROM table_name;
虽然在英文中DISTINCT是个形容词,但是在这里,最好把它当成副词理解。也就是它作用的是一行数据。
前几行
这就是特性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;
设页数为pageNum,则firstIndex = pageSize * (pageNum - 1)
Oracle(待补充,还没有学oracle)
排序
SELECT column01 [, column02, column03...] FROM table_name ORDER BY column01 [, column02, column03...];
如果ORDER BY多列,则按先后顺序进行排序。如ORDER BY name, price;先按name排序,name相同的列再按price排序。
排序规则 :
正序(ASC 默认)和倒序(DESC)
...ORDER BY column01 ASC;
...ORDER BY column01 DESC;
ASC,DESC作用的是column,如果多列指定,所以需要在ORDER BY的每一个列都指定。
网友评论