Order by是SQL语句中用来对查询结果进行排序的关键字。它可以根据指定的列或表达式对查询结果进行排序,并可以指定升序或降序排列。
语法:SELECT column1, column2, …FROM table_nameORDER BY column1 [ASC|DESC], column2 [ASC|DESC], …
其中,column1, column2, … 是要排序的列名,可以是一个或多个列名,用逗号分隔。table_name 是要查询的表名。ASC表示按升序排列,默认情况下是升序排序。DESC表示按降序排列。
示例:
按照单个列进行排序:SELECT * FROM customersORDER BY last_name; – 按照last_name列进行升序排序SELECT * FROM customersORDER BY last_name DESC; – 按照last_name列进行降序排序
按照多个列进行排序:SELECT * FROM customersORDER BY last_name, first_name; – 先按照last_name列进行升序排序,再按照first_name列进行升序排序SELECT * FROM customersORDER BY last_name DESC, first_name ASC; – 先按照last_name列进行降序排序,再按照first_name列进行升序排序
使用表达式进行排序:SELECT * FROM customersORDER BY YEAR(birth_date) DESC; – 按照birth_date列提取的年份进行降序排序注意事项:
当使用ORDER BY时,查询结果会按照指定的排序顺序进行排列。如果没有指定排序顺序,默认为升序。在ORDER BY子句中可以使用列的位置编号(从1开始),而不仅仅是列名。在ORDER BY子句中可以使用表达式,如函数、算术运算符等。
