给朋友网站做宣传怎么写,建设一个旅游网站必备的,重庆荣昌网站建设公司,好的网站怎么建设排序检索数据
本章将讲授如何使用SELECT语句的ORDER BY子句#xff0c;根据需要排序检索出的数据。
排序数据
还是使用上一节中的例子,查询employees表中的last_name字段
SELECT last_name
FROM employees;输出结果#xff1a; 发现其输出并没有特定的顺序。其实#xf…排序检索数据
本章将讲授如何使用SELECT语句的ORDER BY子句根据需要排序检索出的数据。
排序数据
还是使用上一节中的例子,查询employees表中的last_name字段
SELECT last_name
FROM employees;输出结果 发现其输出并没有特定的顺序。其实检索出的数据并不是以纯粹的随机顺序显示的。如果不排序数据一般将以它在底层表中出现的顺序显示。这可以是数据最初添加到表中的顺序。但是如果数据后来进行过更新或删除则此顺序将会受到MySQL重用回收存储空间的影响。因此如果不明确控制的话不能也不应该依赖该排序顺序。关系数据库设计理论认为如果不明确规定排序顺序则不应该假定检索出的数据的顺序有 意义。
子句clause SQL语句由子句构成有些子句是必需的而有的是可选的。一个子句通常由一个关键字和所提供的数据组成。我们使用过的SELECT语句的FROM语句都是子句。本次介绍的ORDER BY子句是一个可选子句。 为了明确地排序用SELECT语句检索出的数据可使用ORDER BY子句。ORDER BY子句取一个或多个列的名字据此对输出进行排序。请看下面的例子
【示例】对employees表中的last_name字段查询结果进行排序
SELECT last_name
FROM employees
ORDER BY last_name;运行结果按照字典顺序排序 按多个列排序
经常会有这样的需求按照姓先排序如果姓重复了再按照名排序。ORDER BY子句后面可以接多个字段其顺序就是排序的先后顺序
【示例】查询employees表中所有信息先按照last_name排序再对first_name排序
SELECT *
FROM employees
ORDER BY last_name, first_name;运行结果 排序方向
数据排序不限于升序排序从A到Z。这只是默认的排序顺序还可以使用ORDER BY子句以降序从Z到A顺序排序。为了进行降序排序必须指定DESC关键字。
【示例】查询employees表中的last_name字段使用降序排序
SELECT last_name
FROM employees
ORDER BY last_name DESC;运行结果 如果对多个字段进行排序每个字段后面都可以加上限制排序方向的关键字如
SELECT *
FROM employees
ORDER BY last_name DESC, first_name;上述表示先对last_name字段进行降序, 然后再对firtst_name进行升序。
与DESC相反的关键字是ASCASCENDING在升序排序时可以指定它。但实际上ASC没有多大用处因为升序是默认的上面例子中既不指定ASC也不指定DESC则假定为ASC。
在字典dictionary排序顺序中A被视为与a相同这是MySQL和大多数数据库管理系统的默认行为。但是许多数据库管理员能够在需要时改变这种行为如果你的数据库包含大量外语字符可能必须这样做。