sql主键要对SQL Select语句进行排序,请使用命令使用顺序。在这篇文章中,我们将查看使用订单的基础知识;在第2部分中,我们将通过主题介绍一些更高级的订单。

您有兴趣了解更多信息SQL编程?有很多良好的在线课程从中选择!

在SQL中排序:问题

由于SQL是一个数据库系统,因此对记录进行排序是SQL编程中的一个关键功能。当您从数据库中检索大量记录时,您需要能够以某种顺序对它们进行排序,以便您可以通过查看检索到的记录的列表轻松地找到特定的记录。为了真正有用,排序命令应该能够按任何可用列对记录进行排序。它还应该能够按指定的顺序按多个列进行排序,排序的顺序由一个非常复杂的表达式决定。在SQL中,ORDER BY命令可以完成所有这些工作。

检索一些记录

让我们从一个基本排序开始。在SQL中,使用SELECT命令检索记录,以格式从[表]中选择[Column_1,Column_2等],如下所示:

SELECT name,city, birthday,favorite_color FROM people;

这可能会产生以下结果:

Bob San Diego 06/07蓝色Cindy Kuala Lumpur 05/09 Orange Jane新加坡乐队12/27绿林旧金山01/17红兰迪柏林10/21黄色

做一个基本排序

要对记录进行排序,您将添加订单:

SELECT name,city,birthday,favorite_color FROM people

这会对这样的记录进行排序:

兰迪柏林10/21黄色Cindy吉隆坡05/09橙色鲍勃圣地亚哥06/07蓝林旧金山01/17红妖新加坡12/27绿色

如果您要将Sort命令更改为此:

按收藏品_color命令;

记录将按此顺序:

Bob San Diego 06/07蓝色简新加坡12/27绿色Cindy吉隆坡05/09橙色林旧金山01/17红兰迪柏林10/21黄色

上或下

请注意,记录总是按所选列的字母顺序排列的。如果您要按数字列排序,它们将从低数字到高数字排序。这是因为在默认情况下,ORDER by命令是按升序排序的。当然,大多数情况下,这样做是完全合理的,但有时你会想颠倒顺序;你可以使用DESC选项来做到这一点,它告诉ORDER BY按降序排序:

Chentory_Color DESC订购;

现在看看顺序:

兰迪柏林10/21黄林旧金山01/17红色辛迪吉隆坡05/09橙色简新加坡12/27绿色鲍勃圣地亚哥06/07蓝色

(注意,还有一个ASC选项,它显式地告诉ORDER BY按升序对记录进行排序。因为升序是默认的,你通常不需要指定ASC,但有时它可能会派上用场。)

对人好点

DESC选项是那些编程基础之一,它允许您友好地对待程序的用户。你可以给他们一个基本“排序方式”选择:允许他们输入或选择列,然后为他们提供的排序列表记录——如果他们需要找到附近的列表,他们可以滚动或页面直到他们发现它。但是如果你想要考虑得更周到一些,你可以包含一个“降序”选项,它会自动实现与Order BY的DESC选项。对于一长串的记录来说,这可能会带来很大的不同。

名称或编号

但如果不确定要从哪个表中选择记录呢?也许您正在编写一个程序,它可能使用多个表中的任意一个,每个表都有不同的列名,或者SQL查询可能请求不同的列,这取决于用户输入。在任何一种情况下,你都可以让你的代码更通用一点,通过使用列的相对位置排序,使用列号,而不是列名:

订购1;

无论列的名称为:,都将按第一列对记录进行排序:

Bob San Diego 06/07蓝色Cindy Kuala Lumpur 05/09 Orange Jane新加坡乐队12/27绿林旧金山01/17红兰迪柏林10/21黄色

多个列

对于一组很长的记录,您可能不仅希望按一列进行排序,而且希望按多列进行排序。例如,假设我们的数据库中有大量的人来自同一个城市;然后将它们按名称和城市进行分类将会很有用。ORDER By可以包含多个列,每个列的名称(或编号)用逗号分隔:

按城市订购,名称;

它将生成第一个由城市列订购的列表,然后由名称列提供:

兰迪柏林10/21黄色adrenne旧金山03/05兰特鲁斯林旧金山01/17红色xochil旧金山11/12绿松石简新加坡12/27绿色

请注意,通过许多SQL实现,您可以混合列名称和数字,如下所示:

订购2,名称;

逆转一列

您可以为单个列指定排序顺序,例如,初始排序是降序排序,而第二个排序是默认(升序)排序:

按城市DESC订购,名称;

会扭转排序的第一部分:

简新加坡12/27绿色肾上腺旧金山03/05黄绿色林旧金山01/17红色Xochtil旧金山11/12蓝绿色兰迪柏林10/21黄色

而这个命令将初始排序保留为默认顺序,并将第二种排序倒过来:

按城市订购,名称DESC;

将第二部分颠倒过来

兰迪柏林10/21黄色Xochtil旧金山11/12绿松石林旧金山01/17红色肾上腺旧金山03/05黄绿色简新加坡12/27绿色

您可以用ASC和DESC选项显式为每列进行分类顺序。

我们将介绍一些高级和专业的SQL分拣主题。如果您对在线SQL课程有兴趣,则有很多可供选择,包括开始先进的课程,以及课程Oracle SQL.Microsoft SQL Server, 和mysql.

SQL中的顶级课程

SQL和PostgreSQL:完整的开发人员指南
斯蒂芬格莱德里
4.7 (1,200)
收视率最高
完整的SQL Bootcamp 2021:从零到英雄
何塞Portilla
4.7 (95,873)
畅销书
终极MySQL训练营:从SQL初学者到专家
Colt Steele,Ian Schoonover
4.6 (52,529)
畅销书
SQL - 用于数据分析和商业智能的MySQL
365职业
4.6 (26,671)
畅销书
完整的SQL和数据库Bootcamp:零掌握[2021]
Andrei Neagoie, Mo Binni
4.7 (1,299)
SQL for初学者:使用MySQL和数据库设计学习SQL
Tim Buchalka的学习编程学院,Jon Avis - SQL教练
4.5 (8,654)
SQL & PostgreSQL初学者:成为一个SQL专家
Jon Avis - SQL教练
4.5 (3070)
畅销书
使用BigQuery应用数据分析/数据科学的SQL
杰夫·詹姆斯
4.9 (17)
收视率最高
与Djabetwayapp下载安装ngo的网络开发
Sara Al-Arab
4.3 (83)
新的
完整的SQL Bootcamp用于数据科学,分析,营销
懒惰的程序员。
4.4 (1,373)

更多SQL课程

SQL学生还学习

让你的团队。领导行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求一个演示