本章节引入“子句”(clause)的概念;
子句构成了SQL语句;
1、排序数据
SELECT prod_name FROM products ORDER BY prod_name;
此例中含有两个子句,第一个完成数据检索,第二个实现排序
2、按照多个列进行排序
SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price, prod_name;
多列排序涉及到排序条件,此例中,先按照prod_price 1进行排序,出现相同的的prod_price 1,则对相同prod_price的prod_name 2进行排序;
假设 prod_price1 没有重复值,则不会按照prod_name2 进行排序;
3、指定方向进行排序
日常操作excel的都知道,可以通过A-Z;Z-A进行指定的排序
SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price DESC;
此例中,子句3(DESC)的作用即为,检索结果按照DESC进行排序,参照对象为prod_price
多列排序的注意点:
SELECT prod_id, prod_price, prod_name FROM products ORDER BY prod_price DESC, prod_name;
可以看到,prod_price 是按照子句DESC进行了降序排列,但是相同prod_price的prod_name仍然是升序排序的;
因此,注意DESC的作用域为其前面的一个字段,如果需要对每列都降序排列,则需要把DESC应用到每列;
与DESC相反的为ASC(升序排序);
通过实践可以发现,在使用ORDER BY 子句默认即为ASC升序排列;
4、找出某一列的最高或者最低值
SELECT prod_price FROM products ORDER BY prod_price DESC LIMIT 1;
SELECT prod_price FROM products ORDER BY prod_price LIMIT 1;
LIMIT 子句限定只输排序结果的一行,从而得出最高值和最低值;