1、ORDER BY子句
SELECT <列名1>, <列名2>, <列名3>, ……
FROM <表名>;
ORDER BY <排列基准列1>, <排列基准列2>, ……
不论何种情况,ORDER BY 子句都需要写在SELECT语句的末尾。这是因为对数据进行排序的操作必须在结果即将返回时执行。ORDER BY子句中书写的列名称为排序键。
【使用HAVING子句时SELECT语句的顺序:1.SELECT子句→2.FROM子句→3.WHERE子句→4.GROUP BY子句→5.HAVING子句→6.ORDER BY子句】
(1)指定升序或降序
SELECT <列名>, <列名>, <列名>, ……
FROM <表名>
ORDER BY <列名> DESC;
①使用升序进行排序时,正式的书写方式应该是使用关键字ASC,但是省略该关键字时会默认使用升序进行排列。
②降序排列时使用DESC关键字。
【由于ASC和DESC这两个关键字是以列为单位指定的,所以可以同时指定一个列为升序,指定其他列为降序。】
(2)指定多个排序键
ORDER BY子句中同时指定多个排序键,会优先使用左侧的键,如果该列存在相同值的话,会接着参考右侧的键。
(3)含有NULL时的情况
不能对NULL使用比较运算符,即不能对NULL与数字进行排序,也不能与字符串和日期比较大小。因此,使用含有NULL的列作为排序键时,NULL会在结果的开头或者末尾汇总显示。(某些DBMS中可以指定NULL在开头或者末尾显示。)
(4)在排序键中使用显示别名
SELECT子句的执行顺序在GROUP BY子句、HAVING子句之后,ORDER BY 子句之前。因此,在执行GROUP BY子句时,SELECT语句中定义的别名无法被识别。
(5)ORDER BY 子句中可以使用的列
ORDER BY子句中可以使用存在于表中,但并不包含在SELET子句之中的列。ORDER BY子句中也可以使用聚合函数。(不要使用列编号。)
2、INSERT语句的使用方法
INSERT INTO <表名> (列名, 列名2, 列名3, ……) VALUES (值1, 值2, 值3, ……);
列名和值用逗号隔开,分别括在()内,这种形式成为清单。表名后面的列清单和VALUES子句中值中列的数量必须保持一致,列数不一致时会出错,无法插入数据。【但是使用默认值时列数无需完全一致。】
原则上,执行一次INSERT语句会插入一行数据,因此,插入多行时,通常需要循环执行所需行数次的INSERT语句。