关于顺序 有了ORDER BY子句,我们可以以更有意义的方式来表现我们从数据库中检索到的信息。这对于简单的以及复杂的请求都是一样适用的。我们现在可以修改我们的请求,使它们包括一些排序的需求。比如,诸如”What are the categories of classes we currently offer?”的问题可以修改为”List the categories of classes we offer and show them in alphabetical orde.”。
Translation Select category ……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
关于顺序
有了ORDER BY子句,我们可以以更有意义的方式来表现我们从数据库中检索到的信息。这对于简单的以及复杂的请求都是一样适用的。我们现在可以修改我们的请求,使它们包括一些排序的需求。比如,诸如"What are the categories of classes we currently offer?"的问题可以修改为"List the categories of classes we offer and show them in alphabetical orde."。
Translation | Select category from the classes table and order by category |
Clean Up | Select category from classes order by category |
SQL | SELECT Category |
在运行SELECT查询之前,我们需要调整定义翻译语句的方式。这包括在翻译语句的后面添加一个新的部分来解释请求中指定的新排序要求。使用这个新的形式来定义翻译-语句。
Select <item> from the <source> and order by <column(s)> |
现在我们的请求中包含了诸如“sort the results by city”、“show them in order by year”或“list them by last name and first name”的短语,仔细地研究请求,然后确定我们需要在哪个字段或哪些字段来实现排序。这是一个简单的练习,因为大多数人都使用这些类型的短语,并且排序所需要的字段通常都是很明显的。在我们确定了恰当的一个或多个字段之后,就可以用它们替代翻译语句中的<column(s) >。让我们来看一下这个简单的请求是如何构造的。
"List the categories of classes we offer and show them in alphabetical order." |
在这个例子中,我们可以假设将使用Category来排序,因为它是请求中唯一出现的字段。我们也可以假设排序是按照升序进行的,因为请求中并没有任何相反的要求。因此这是一个很可靠的假设。根据SQL Standard,如果我们没有指定排序顺序,那么升序排列是自动假设的。然而,如果我们想要更明确点,那么我们可以在ORDER BY子句的后面插入ASC。
在下面的请求中,对于排序所需要的字段作了更明确地定义。
"Show me a list of vendor names in ZIP Code order." |
Translation | Select vendor name and ZIP Code from the vendors table and order by ZIP Code |
Clean Up | Select vendor name ZIP Code from vendors order by ZIP Code |
SQL | SELECT VendName, VendZipCode |
一般来说,大多数的人如果想看到降序排列的信息,他们都会明确地说明。当出现这种情况时,我们需要以相反的排列显示结果集,也就是在ORDER BY子句的特定字段后插入DESC关键字。比如,当我们想看到以ZIP代码降序排列的信息时,我们可以这样修改前面例子中的SELECT语句。
SQL | SELECT VendName, VendZipCode |
下面的例子是一个要求多字段排序的更加复杂的请求。这个例子与前面的例子之间的不同在于在这个例子中的ORDER BY子句使用了更多的字段。注意,字段是由逗号分开的,这与图4-10所显示的语法图是一致的。
"Display the names of our employees, including their phone number and ID number, and list them by last name and first name." |
Translation | Select last name, first name, phone number, and employee ID from the employees table and order by last name and first name |
Clean Up | Select last name, first name, phone number, employee ID from employees order by last name first name |
SQL | SELECT EmpLastName, EmpFirstName, EmpPhoneNumber, EmployeeID |
相关推荐
-
在SQL中使用SELECT查询的ORDER BY子句(下)
保存SELECT语句有什么意义?我们应该如何保存SELECT语句?文中笔者对它进行了定义并详细列出了注意事项。
-
在SQL中使用SELECT查询的ORDER BY子句(上)
如何进行SELECT操作?在本章的开头,我们就谈到SELECT操作可以分成三个较小的操作:SELECT语句、SELECT表达式和SELECT查询。
-
在SQL语句ORDER BY子句中用CASE表达式
我想在SQL语句ORDER BY子句中用CASE表达式,但是我又想通过多个列进行排序。但是在编辑时我却不断收到“找不到关键字”的错误信息……