SQL order by的用法

Order by是SQL语句中用来对查询结果进行排序的关键字。它可以根据指定的列或表达式对查询结果进行排序,并可以指定升序或降序排列。

语法:
SELECT column1, column2, …
FROM table_name
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], …

其中,column1, column2, … 是要排序的列名,可以是一个或多个列名,用逗号分隔。
table_name 是要查询的表名。
ASC表示按升序排列,默认情况下是升序排序。
DESC表示按降序排列。

示例:

按照单个列进行排序:
SELECT * FROM customers
ORDER BY last_name; – 按照last_name列进行升序排序

SELECT * FROM customers
ORDER BY last_name DESC; – 按照last_name列进行降序排序

按照多个列进行排序:
SELECT * FROM customers
ORDER BY last_name, first_name; – 先按照last_name列进行升序排序,再按照first_name列进行升序排序

SELECT * FROM customers
ORDER BY last_name DESC, first_name ASC; – 先按照last_name列进行降序排序,再按照first_name列进行升序排序

使用表达式进行排序:
SELECT * FROM customers
ORDER BY YEAR(birth_date) DESC; – 按照birth_date列提取的年份进行降序排序

注意事项:

当使用ORDER BY时,查询结果会按照指定的排序顺序进行排列。如果没有指定排序顺序,默认为升序。
在ORDER BY子句中可以使用列的位置编号(从1开始),而不仅仅是列名。
在ORDER BY子句中可以使用表达式,如函数、算术运算符等。

阅读剩余
THE END