![SQL Server 2016从入门到精通(视频教学超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/756/26793756/b_26793756.jpg)
5.2 数据操作语句
数据操作语句(Data Manipulation Language,DML)是使用户能够查询数据库及操作已有数据库中数据的语句,其中包括数据库插入语句、数据更改语句、数据删除语句和数据查询语句等。本节将介绍这些内容。
5.2.1 数据的插入——INSERT
向已创建好的数据表中插入记录,可以一次插入一条记录,也可以一次插入多条记录。插入表中的记录中的值必须符合各个字段值数据类型及相应的约束。INSERT语句基本语法格式如下:
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T127_40015.jpg?sign=1739531484-ivjmuUKPebA8uyWDjZFE4Zx6OuFL0LKH-0-bb091950a13f4f76c860f70507805db9)
- table_name:指定要插入数据的表名。
- column_list:指定要插入数据的那些列。
- value_list:指定每个列对应插入的数据。
提示
使用该语句时字段列和数据值的数量必须相同,value_list中的这些值可以是DEFAULT、NULL或者是表达式。DEFAULT表示插入该列在定义时的默认值;NULL表示插入空值;表达式将插入表达式计算之后的结果。
在演示插入操作之前,将数据库的名称company重新修改为test_db,语句如下:
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T127_40017.jpg?sign=1739531484-ZnkbAuqRvB6DO7SkbpGLJQ228jSAm4EC-0-f9ccbedd2bc81411c94272093c32486d)
准备一张数据表,这里定义名称为teacher的表,可以在test_db数据库中创建该数据表,创建表的语句如下:
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T128_40018.jpg?sign=1739531484-igxyv2882yKpyj5MYgxVar4aK99YY5Je-0-730b39a2b8a69b944bc8b47b6ba46d88)
执行操作后刷新表节点,即可看到新添加的teacher表,如图5-2所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P128_6882.jpg?sign=1739531484-OZhDeb3GJaxkGNUhmWXDrtF4PiWxcm2P-0-1414716e91974b7b00f1205a68ab0d05)
图5-2 添加teacher表
【例5.8】向teacher表中插入一条新记录,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T128_40019.jpg?sign=1739531484-gg11v583Fugzyusd0Nh3QpfVry3MleDR-0-02e238ea33c3c93947d0d3c7be7883c1)
执行语句后,结果如图5-3所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P128_6909.jpg?sign=1739531484-soZAYqyNrs2Pbyicu1x9iSKumdzdnK8J-0-e6bad754c91b8ad07bf33f130c1c0679)
图5-3 向teacher表中插入一条记录
插入操作成功,可以从teacher表中查询出一条记录。
【例5.9】向teacher表中插入多条新记录,T-SQL代码如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T128_40020.jpg?sign=1739531484-9gbgUObxfghPrI65tjHqfoHwkayWWhTl-0-6d026c4ec1db76fe5c9354b2dcf6ffb3)
执行结果如图5-4所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P129_6966.jpg?sign=1739531484-aWaw5mmQ5AIBvae9EcrWVHYCdzNw8OiU-0-fead18023e276bcca772086685411978)
图5-4 向teacher表中插入多条记录
对比插入前后的查询结果,可以看到现在表中已经多了3条记录,插入操作成功。
5.2.2 数据的更改——UPDATE
表中有数据之后,接下来可以对数据进行更新操作,SQL Server使用UPDATE语句更新表中的记录,可以更新特定的行或者同时更新所有的行。UPDATE语句的基本语法结构如下:
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T129_40022.jpg?sign=1739531484-Emvm5RkXdJYG6EgrmsYeHLKcOZRBX8et-0-14df944b0ef93fe2476215931bb3bdb6)
column_name1,column_name2,……,column_nameN为指定更新的字段的名称;value1,value2,……,valueN为相对应的指定字段的更新值;condition指定更新的记录需要满足的条件。更新多个列时,每个“列=值”对之间用逗号隔开,最后一列之后不需要逗号。
1.指定条件修改
【例5.10】在teacher表中,更新id值为1的记录,将birthday字段值改为‘1980-8-8’,将cellphone字段值改为‘0018600’,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T129_40023.jpg?sign=1739531484-AOtiWPAXB6T2aJb7OPxAdzNMARdObhlE-0-50f289a21db032e423b257c9134b502d)
对比执行前后的结果如图5-5所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P130_7029.jpg?sign=1739531484-KHYayLxJs9dHk3afianDqgypSpwyF21T-0-3f9faf16782da2ba39c230a84063ade2)
图5-5 指定条件修改记录
对比前后的查询结果,可以看到,更新指定记录成功。
2.修改表中所有记录
【例5.11】在teacher表中,将所有老师的电话都修改为‘01008611’,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T130_40026.jpg?sign=1739531484-2O7vtXtxbT1rZcjC4PgqRoNO6jFC2Uy2-0-da00d9fd6768ba1361792a4e0063108e)
代码执行后的结果如图5-6所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P130_7056.jpg?sign=1739531484-s69l7tYDSYv9o2LALTKvHsdLxG49z1le-0-140c833756eced32b9e919d1d14e0b7e)
图5-6 同时修改teacher表中所有记录的cellphone字段
由结果可以看到,现在表中所有记录的cellphone字段都有相同的值,修改操作成功。
5.2.3 数据的删除——DELETE
数据的删除将删除表的部分或全部记录,删除时可以指定删除条件从而删除一条或多条记录;如果不指定删除条件,DELETE语句将删除表中所有的记录,清空数据表。DELETE语句的基本语法格式如下:
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T131_40030.jpg?sign=1739531484-bxuSZiGTiyvT0v1QwkqZey2OCKx7L3q6-0-485027b4fceec907798e2bf3a78ac278)
- table_name为执行删除操作的数据表。
- WHERE子句指定删除的记录要满足的条件。
- condition为条件表达式。
1.按指定条件删除一条或多条记录
【例5.12】删除teacher表中id等于1的记录,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T131_40031.jpg?sign=1739531484-EBXem1Klx7VkiS2h8F5IDgyPs9TFctyO-0-df6324c53dfdc9f2d6df536bbfa63986)
执行结果如图5-7所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P131_7104.jpg?sign=1739531484-zHoQ6nKugMMDoFI6O1hsADEZtBnojc3y-0-0e6c0d9bac2f524b668dbab100da0f37)
图5-7 按指定条件删除一条记录
由结果可以看到,代码执行之后,SELECT语句的查询结果为空,删除记录成功。
2.删除表中所有记录
使用不带WHERE子句的DELETE语句可以删除表中的所有记录。
【例5.13】删除teacher表中所有记录,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T131_40032.jpg?sign=1739531484-IW1wB2CW5j40znD1cgS4S4QF4jfbhmg4-0-f859cba93631fade36034b1677ba30c6)
执行结果如图5-8所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P132_7140.jpg?sign=1739531484-QDDdqZD8PDTItmqBjlDNIBCQnJLx1gCn-0-9ba06f3cdc19f1701085742f8f0e1c2c)
图5-8 删除表中所有记录
对比删除前后的查询结果,可以看到,执行DELETE语句之后,表中的记录被全部删除,所以第二条SELECT语句的查询结果为空。
5.2.4 数据的查询——SELECT
对于数据库管理系统来说,数据查询是执行频率最高的操作,是数据库中非常重要的部分。T-SQL中使用SELECT语句进行数据查询,SELECT语句的基本语法结构如下:
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T132_40037.jpg?sign=1739531484-CYUjtlh4T6oQDGgR6478paglFo41YwGk-0-e64445b15f474d57505130ecd0645237)
- ALL:指定在结果集中可以包含重复行。
- DISTINCT:指定在结果集中只能包含唯一行。对于DISTINCT关键字来说,NULL值是相等的。
- {* | <字段列表>}:包含星号通配符和字段列表,“*”表示查询所有的字段,“字段列表”表示查询指定的字段,字段列至少包含一个子段名称,如果要查询多个字段,多个字段之间用逗号隔开,最后一个字段后不要加逗号。
- FROM table_name | view_name:表示查询数据的来源。table_name表示从数据表中查询数据,view_name表示从视图中查询。对于表和视图,在查询时均可指定单个或者多个。
- WHERE <condition>:指定查询结果需要满足的条件。
- GROUP BY <字段名>:该子句告诉SQL Server显示查询出来的数据时,按照指定的字段分组。
- [ORDER BY <字段名>]:该子句告诉SQL Server按什么样的顺序显示查询出来的数据,可以进行的排序有:升序(ASC)、降序(DESC)。
为了演示本节介绍的内容,可以在指定的数据库中建立下面的数据表,并插入记录数据。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T133_40038.jpg?sign=1739531484-pL4e4YVaJ7ZynZAvQMlUobzxlaA0AZrY-0-ea007ba84c5183b8d74d91919b044217)
执行语句后,查看stu_info表的数据,结果如图5-9所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P133_7285.jpg?sign=1739531484-ZKXpUQqBRvTvxM0tBxRoTQXnm8mW0nKb-0-0a491536dadd6125174b6977880cf06c)
图5-9 创建stu_info表
1.基本SELECT查询
【例5.14】查询stu_info表中的所有学生信息,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T133_40040.jpg?sign=1739531484-zHL1w6xkcZSFLYEHdT01PAdmrIfcfJK6-0-bc0432713e68312d47f5374212691216)
执行结果如图5-10所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P133_7302.jpg?sign=1739531484-srwjN0sfE5TXSafznWKeJ44Yb4uzVw73-0-a43ee88ab22feae0cdf4b6e271ad1315)
图5-10 查询stu_info表中所有学生信息
可以看到,使用星号(*)通配符时,将返回所有列,列按照定义表的时候的顺序显示。
2.查询记录中指定字段
有时候,并不需要数据表中的所有字段的值,此时,可以指定需要查询的字段名称,这样不仅显示的结果更清晰,而且能提高查询的效率。
【例5.15】查询stu_info数据表中学生的姓名和成绩,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T134_40043.jpg?sign=1739531484-QdjmL8YkekUpxW1isIM1CILQXk95aiGe-0-1626e3c9f37fc5c2b9beb6683e4a7562)
代码执行结果如图5-11所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P134_7327.jpg?sign=1739531484-YQbKxcIt3F0j4PTN83ZjBbwTf3gBJ65k-0-455457d3c2628a180fddaedcb35193cc)
图5-11 查询stu_info数据表中学生的姓名和成绩字段
3.在查询结果中使用表达式
【例5.16】不修改数据表,查询并显示所有学生的成绩降低5分后的结果,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/z1.jpg?sign=1739531484-LyVKy5O98vGkWi5ltBQPNlLBUop8aCUX-0-d828488be1c8e715446a3b3e1475c260)
代码执行结果如图5-12所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P134_7344.jpg?sign=1739531484-r1wNENMGpBa2KPARfpi38v0zWKyKlOGA-0-fcfe66b07410cb35cc426dc8dc406028)
图5-12 在查询结果中使用表达式
这里s_score-5表达式后面使用了AS关键字,该关键字表示为表达式列指定一个用于显示的字段名称,这里AS为一个可选参数,也可以不使用。
提示
这里的s_score-5表达式中减号为英文状态下输入的符号,如果在中文状态下输入,运行将会报错。
4.显示部分查询结果
当数据表中包含大量的数据时,可以通过指定显示记录数限制返回的结果集中的行数,方法是在SELECT语句中使用TOP关键字,其语法格式如下:
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T135_40048.jpg?sign=1739531484-JqyKMHjF14ouh1xc3ADTAzXEKHAuZmsU-0-b5f201e08c29e90e3ca43d5405cbf622)
TOP后面有两个可选参数,n表示从查询结果集返回指定的n行,PERCENT表示从结果集中返回指定的百分比数目的行。
【例5.17】查询stu_info中所有的记录,但只显示前3条,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T135_40049.jpg?sign=1739531484-thDqbXe9XfB1GwhQsL3YLVkybHTxqvf2-0-025a4ac04dd804f43f6fd5c07be45201)
代码执行结果如图5-13所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P135_7379.jpg?sign=1739531484-Vktnwr2pwmoAlPhUKU5UNwV50quXEjxa-0-ffa021beeb637ba36ecc678fc5dc0694)
图5-13 返回stu_info表中前3条记录
5.带限定条件的查询
数据库中如果包含大量的数据,根据特殊要求,可能只须查询表中的指定数据,即对数据进行过滤。在SELECT语句中通过WHERE子句,对数据进行过滤。
【例5.18】查询stu_info表中所有性别为‘男’的学生的信息,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T135_40050.jpg?sign=1739531484-0b7kItJR4KVLpEz8cY9zN4I35vjBAnZ4-0-729ac0df57d96f1885d28bc4bed9fd6c)
代码执行结果如图5-14所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P136_7404.jpg?sign=1739531484-DfZnXYxH5uATBlHGkgEiYCz1FOm6sSVb-0-1751601bda654af963c738f38b3436a5)
图5-14 带限定条件的查询
由返回结果可以看到,返回了4条记录,这些记录有一个共同的特点,就是其s_sex字段值都为‘男’。
相反的,可以使用关键字NOT来查询与条件范围相反的记录。
【例5.19】查询stu_info表中所有性别不为‘男’的学生的信息,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T136_40052.jpg?sign=1739531484-OQ66pp9jCE4hNlLEtXo0bjqmNJoWAuSZ-0-08dd9cbda6413dc9387b758d0a42ff62)
代码执行结果如图5-15所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P136_7423.jpg?sign=1739531484-FD4XOwAF2e9CnkXX6rpn1mb7EhsiqZpY-0-46e779c867678236c9cca97753731de5)
图5-15 NOT限定条件查询
可以看到,返回的结果集中,所有记录的s_sex字段值为非‘男’,即查询女同学的信息。当然,这里只是为了说明NOT运算符的使用方法,读者也可以在WHERE子句中直接指定查询条件为s_sex=‘女’。
6.带AND的多条件查询
使用SELECT查询时,可以增加查询的限制条件,这样可以使查询的结果更加精确。SQL Server在WHERE子句中使用AND操作符,限定必须满足所有查询条件的记录才会被返回。可以使用AND连接两个甚至多个查询条件,多个条件表达式之间用AND分开。
【例5.20】查询stu_info表中性别为‘男’并且成绩大于80的学生信息,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T136_40056.jpg?sign=1739531484-uvFRy5mr3TEdsuRVUAK45iNiFeUiazgh-0-48d818b01a735678d90e706c99b54be3)
代码执行结果如图5-16所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P137_7449.jpg?sign=1739531484-CyhDrI0MdMhz3pg2o7rgGysg773lX0Jv-0-0ac60b6d38b4dadeb7fa6ac6be9356f9)
图5-16 带AND运算符的查询
返回查询结果中所有记录的s_sex字段值为‘男’,其成绩都大于80,同时满足这两个查询条件。
7.带OR的多条件查询
与AND相反,在WHERE声明中使用OR操作符,表示只需要满足其中一个条件的记录即可返回。OR也可以连接两个甚至多个查询条件,多个条件表达式之间用OR分开。
【例5.21】查询stu_info表中成绩大于80,或者年龄大于18的学生信息,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T137_40059.jpg?sign=1739531484-vCE6hY738F8SDkULDLKwhTE3xBH3AKWu-0-1e23087af1be9a25e439ec8ec411fed3)
代码执行结果如图5-17所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P137_7466.jpg?sign=1739531484-0d2KqKiWwoIfrxhe1Xnd4YezxhiyLrQx-0-ba51ce749d6a4200c1542f224c60e2b4)
图5-17 带OR运算符多条件查询
由返回结果可以看到,第1条和第4条记录满足WHERE子句中的第一个大于80分的条件,第2条和第3条记录虽然其s_score字段值不满足大于80分的条件,但是其s_age年龄字段满足了WHERE子句中第二个年龄大于18岁的条件,因此也是符合查询条件的。
8.使用LIKE运算符进行匹配查询
前面介绍的各种查询条件中,限定条件是确定的,但是某些时候,不能明确地指明查询的限定条件,此时,可以使用LIKE运算符进行模式匹配查询,在查询时可以使用如下的几个通配符,如表5-2所示。
表5-2 各种通配符的含义
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T138_40064.jpg?sign=1739531484-NYG5rk5iCuT2V2o02viFBsvq2TkrZgQa-0-c93ccaa917b46a142704957b7eb23d3e)
【例5.22】在stu_info数据表中,查询所有姓‘马’的学生信息,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T138_40065.jpg?sign=1739531484-1RZbZp3snrSYOBx0dewJtSBbitKGn7Kb-0-f8ccd8d129cbfd0afa8151ad3d6c613e)
代码执行结果如图5-18所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P138_7553.jpg?sign=1739531484-e4pQ1tRqr2GbZQIStqFpHtv0egcYsert-0-34c15e0ef56e75c9c6cfaff8ad8bff22)
图5-18 查询所有姓名以“马”开头同学的记录
数据表中只有一条记录的s_name字段值以字符‘马’开头,符合匹配字符串‘马%’。
【例5.23】查询stu_info表中所有姓“张”、姓“王”、姓“李”的学生信息,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T138_40066.jpg?sign=1739531484-fCbtWLooqB2jHRGcz5cDq99n3vLAYmuZ-0-7efeb271c929fa0675e1363ddfd216a5)
代码执行结果如图5-19所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P138_7572.jpg?sign=1739531484-KUksWNMWP3iECRggzwchqYO15DyPJ1ae-0-81d6e19c955cd6e34ebad4940a7c470f)
图5-19 查询所有姓名以“张”、“王”或“李”开头同学的记录
由返回结果可以看到,这里返回的3条记录的s_name字段值分别是以张、王或者李这3个姓中的某一个开头的,只要是以这3个姓开头的,不管后面还有多少个字符都是满足LIKE运算符中匹配条件的。
9.使用BETWEEN AND进行查询
BETWEEN AND运算符可以对查询值限定一个查询区间。
【例5.24】查询stu_info表中成绩大于50小于90的学生信息,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T139_40070.jpg?sign=1739531484-pcHTCkAp3E1kO6wXSK3O5nnQnmu2Rmd9-0-c0ab84c5cdc6d27e2286554b97cdeaab)
代码执行结果如图5-20所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P139_7599.jpg?sign=1739531484-pevNQBeAtFvMWG6mjNOiiCWkFc6UrcsP-0-4c4effe03e2564386929d1a96a9d9674)
图5-20 使用BETWEEN AND运算符查询
由返回结果可以看到,这里3条记录的s_score字段的值都是大于50小于90,满足查询条件。
10.对查询结果排序
在说明SELECT语句语法时介绍了ORDER BY子句,使用该子句可以根据指定的字段的值,对查询的结果进行排序,并且可以指定排序方式(降序或者升序)。
【例5.25】查询stu_info表中所有学生信息,并按照成绩由高到低进行排序,输入语句如下。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-T139_40071.jpg?sign=1739531484-qCguNJHcTZkjAP9a1qke0X0RIvsCBfjh-0-1410f1f4c4e808ac51aca12d498f535c)
代码执行结果如图5-21所示。
![](https://epubservercos.yuewen.com/4FBA48/15253388305240806/epubprivate/OEBPS/Images/Figure-P139_7616.jpg?sign=1739531484-Yi6GIxo9QMPNHchgPPHLxKeoU6sC8aBj-0-91bbb2f1f2df7b6bc328b5cbc525fef9)
图5-21 对查询结果排序
查询结果中返回了stu_info表的所有记录,这些记录根据s_score字段的值进行了一个降序排列。ORDER BY子句也可以对查询结果进行升序排列,升序排列是默认的排序方式,在使用ORDER BY子句升序排列时,可以使用ASC关键字,也可以省略该关键字。读者可以自己编写升序排列的代码,对比这里的结果。