内容正文:
数据库表数据的操纵
第四章
1
目 录
2
4.1 单表查询
4.2 分组统计查询
4.3 多表连接查询
4.4 嵌套查询
4.5 数据更新
4.6 查询优化——索引
4.1 单表查询
掌握使用SELECT语句进行单表查询的方法。
掌握按需要重新排序查询结果的方法。
掌握消除结果集中重复记录的方法。
掌握查询满足特定条件记录的方法。
知识目标
会进行单表查询。
会利用精确查询和模糊查询来查询满足特定条件的记录。
会对查询结果进行编辑。
能力目标
5
班级学生基本信息查询
王老师是新生班计算机应用技术1801班(班级编号为18041011)的班主任,新生马上要上课了,她需要查询本班学生的如下信息,以尽快地熟悉新生情况。
1.查询本班学生的籍贯。
2.查询本班苏南地区(江苏苏州、江苏无锡、江苏常州)的学生基本信息。
3.查询本班年龄为19~20岁的学生基本信息。
4.按学号排序的班级学生名单,内容包括学号、姓名,为任课教师提供花名册。
、
任务描述
6
此任务主要涉及数据的查询操作,这些查询操作主要涉及在一个表上的投影和选择操作。
1.查询结果需要消除结果集中的重复记录。
2.使用模糊查询设置查询条件。
3.查询结果中各数据行来自学生表中满足某些条件的记录。
4.查询结果要求按一定的顺序排列数据。
班级学生基本信息查询
任务分析
4.1.1 查询简介
查询是对表中已经存在的数据而言的,可以简单地理解为“筛选”,将满足一定条件的数据抽取出来。
数据表在接收查询请求的时候,可以简单地理解为“它将逐行判断,判断是否符合查询条件”。
如果符合查询条件就提取出来,然后将所有被选中的行组织在一起,形成另外一个类似于表的结构,构成查询的结果,通常称之为记录集(Recordset)。
知识导读
4.1.2 SELECT查询
1.SELECT查询语句的语法格式
SELECT [ALL|DISTINCT] <字段列表> --投影(计算统计)
[INTO 新表名] --保存
FROM <表名列表> --连接
[WHERE <查询条件>] --选择
[GROUP BY <字段名>] --分组统计
[HAVING <组筛选条件表达式>] --限定分组统计
[ORDER BY <字段名> [ASC|DESC]] --排序
知识导读
说明:
(1)ALL|DISTINCT。其中ALL表示查询满足条件的所有行;DISTINCT表示在查询的结果集中,内容相同的记录只显示一条。
(2)<字段列表>。由被查询的表中的字段或表达式组成,指明要查询的字段信息。
(3)INTO 新表名。在查询的同时创建一个新的表,新表中存储的数据来自查询的结果。
(4)FROM <表名列表>。指出针对哪些表进行查询操作,可以是单个表,也可以是多个表。当查询多个表时,表名之间用逗号隔开。
(5)WHERE <查询条件>。用于指定查询的条件。该项是可选项,可以不设置查询条件,也可以设置一个或多个查询条件。
(6)GROUP BY <字段名>。对查询的结果按指定的字段进行分组。
(7)HAVING <组筛选条件表达式>。对分组后的查询结果再次设置筛选条件,最后的结果集中只包含满足条件的分组。必须与GROUP BY子句一起使用。
(8)ORDER BY <字段名> [ASC|DESC]。对查询的结果按照指定的字段进行排序,其中[ASC|DESC]用于指明排序方式,ASC为升序,DESC为降序。
4.1.2 SELECT查询
知识导读
4.1.2 SELECT查询
SELECT <字段列表>
FROM <表名>
[WHERE <查询条件>]
2.SELECT查询语句的基本格式
语句含义:
根据WHERE子句的查询条件,
从FROM子句指定的表中找出满足条件的记录,
再按SELECT语句中指定的字段依次筛选出记录中的指定字段值。
若不设置查询条件,则表示查询表中的所有记录。
知识导读
4.1.3 查询指定字段
1.查询表中所有字段数据
语法格式如下:
SELECT * FROM <表名>
SELECT 所有列名 FROM <表名>
【例4-1】查询学生表中的所有信息。
SELECT * FROM student
SELECT s_id,s_name,s_sex,born_date,nation ,
place,p