1 / 26

第六章 数据查询

第六章 数据查询. 金丽霞 2011.3. 目标:. 知识目标. 掌握 SELECT 语句对单表内容进行查询。 掌握 SELECT 语句对多表进行连接查询。 掌握嵌套查询的方法。. 目标:. 技能目标. 能够灵活应用 SELECT 语句对单表内容进行查询。 能够灵活应用 SELECT 语句对多表进行连接查询。 能够灵活应用嵌套查询进行相应的操作。. 一、单表查询 之一 查询指定列的信息. 查询指定列的记录信息 —— 语法. ……. ,. 列名2. AS 别名. SELECT. 列名1. AS 别名. FROM 表名. 学号.

kevin-long
Download Presentation

第六章 数据查询

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第六章 数据查询 金丽霞 2011.3.

  2. 目标: • 知识目标 • 掌握SELECT语句对单表内容进行查询。 • 掌握SELECT语句对多表进行连接查询。 • 掌握嵌套查询的方法。

  3. 目标: • 技能目标 • 能够灵活应用SELECT语句对单表内容进行查询。 • 能够灵活应用SELECT语句对多表进行连接查询。 • 能够灵活应用嵌套查询进行相应的操作。

  4. 一、单表查询 之一 查询指定列的信息 查询指定列的记录信息——语法 …… , 列名2 AS 别名 SELECT 列名1 AS 别名 FROM 表名 学号 姓名 性别 年龄 专业 2.实验:例6.1、6.2 3.练习 4.实验:例6.3

  5. 单表查询练习1:查询STUDENT表的sname、sage字段 例1:select sname,sage from student

  6. 单表查询练习2:查询student表中的所有数据 例2:select * from student

  7. 一、单表查询 之二 查找指定列的前N条记录 1.查询前N条记录——语法 n SELECT TOP 列名1 …… ,列名2 FROM 表名 2.实验:例6.7、6.8 3.练习:查询

  8. 练习--查找指定列的前N条记录 查询student 表的所有记录 查询student 表前3条记录 查询student 表前3条记录的sno,sname,sex字段

  9. 一、单表查询之三WHERE 子句 1.WHERE子句——语法 …… SELECT 列名1 ,列名2 FROM 表名 WHERE 条件表达式 2.练习:

  10. WHERE 子句练习 1.查询信息技术专业的所有学生记录 2.查询年龄是19岁的学生的学号、姓名,性别,年龄 3.查询年龄是19岁且性别是女的学生的学号、姓名,性别,年龄

  11. WHERE 子句练习 4.查询CJ表中成绩在[56,78]范围内的学生 select * from cj where 成绩>=56 and 成绩<=78 成绩 between 56 and 78 5.查询CJ表中成绩在[56,78]范围外的学生 select * from cj where 成绩 not between 56 and 78 成绩<56 or 成绩>78

  12. WHERE 子句练习 6.查询XS表中专业是计算机网络和电子商务的学生 select * from XS where 专业=‘计算机网络’ or 专业=‘电子商务’ 专业 IN (‘计算机网络’,’电子商务’) 7.查询KC表中选修了 A003和J003课程的老师 select * from cj where 课程号 IN (‘A003’,’J003’)

  13. WHERE 子句练习 8.查询XS表中姓张的所有学生信息 select * from XS where 姓名 like ‘张%’ 9.查询xs表中姓名是两个字,姓张的学生的所有字段信息 select * from XS where 姓名 like ‘张_’

  14. 思考题:查找XS表中姓名张,中间一个字不清楚,第三个字是强或明的姓名思考题:查找XS表中姓名张,中间一个字不清楚,第三个字是强或明的姓名 • use xsgl • go • select 姓名 • from xs • where rtrim(姓名) like '张_[强,明]' • go

  15. WHERE 子句练习 10.查询KC表中选修了课程却没有成绩的学生的学号 select * from KC where 成绩 is NULL

  16. 一、单表查询之四 SELECT语句的统计功能 1、SELECT 语句具有哪些统计功能? 求和 求平均 求最大值 求最小值……

  17. 一、单表查询之四 SELECT语句的统计功能 2、SELECT 语句实现统计功能的方法 使用集合函数 GROUP BY 子句 COMPUTE 子句

  18. 一、单表查询之四 SELECT语句的统计功能 • 3、练习 • 统计XS表中的总人数 • 统计CJ表中的总课程数 • 统计选修了A001课程的总人数 • 统计选修了A004课程的最高分的学生成绩

  19. 一、单表查询之四 SELECT语句的统计功能 • 4、GROUP BY 针对整个查询结果,根据条件对数据进行分组 SELECT 列名1,列名2,别名=函数计算 FROM 表名 GROUP BY 列名1,列名2 GROUP BY 子句写在WHERE 子句之后 SELECT 后所跟的列名要么在集合函数中,要么在GROUP BY子句中

  20. 一、单表查询之四 SELECT语句的统计功能 • 5、练习 查询统计XS表中男生总人数和女生总人数 查询统计KC表中各课程选修的总人数 完成练习:例6.22

  21. 一、单表查询之四 SELECT语句的统计功能 • 6、HAVING 对各组内的记录进行条件筛选 SELECT 列名1,列名2,别名=函数计算 FROM 表名 GROUP BY 列名1,列名2 HAVING 条件 与WHERE子句的区别是什么?

  22. 一、单表查询之四 SELECT语句的统计功能 • 7、练习 对XS表进行查询统计,统计出各专业性别是女的总人数 完成例6.23 对成绩表进行查询统计,统计出平均成绩<80的学生的学号,平均分

  23. 二、多表查询之一内连接 • SELECT 列名列表 FROM 表名1 JOIN 表名2 ON 表名1.列名=表名2.列名 • SELECT 列名列表 FROM 表名1 , 表名2 WHERE 表名1.列名=表名2.列名

  24. 练习 • 查询xs表中的学号、姓名和CJ表中的课程号、成绩字段的信息。 SELECT XS.学号 XS.姓名 CJ.课程号 CJ.成绩 XS FROM JOIN CJ ON XS.学号=CJ.学号 SELECT XS.学号 XS.姓名 CJ.课程号 CJ.成绩 XS FROM , CJ WHERE XS.学号=CJ.学号

  25. 练习 • 查询xs表中的学号、姓名,CJ表中的成绩,KC表中的课程名字段的信息。 SELECT XS.学号 XS.姓名 KC.课程名 CJ.成绩 FROM XS JOIN CJ ON XS.学号=CJ.学号 JOIN kc ON cj.课程号=kc.课程号 SELECT XS.学号 XS.姓名 CJ.课程号 CJ.成绩 XS FROM , CJ ,KC AND CJ.课程号号=KC.课程号 WHERE XS.学号=CJ.学号

  26. 练习 • 查询学号是2006030101的学生的学号、姓名、选修课程号、及各门功课的成绩。 • 查询选修了英语的学生的学号、姓名、课程名、成绩。 • 查询选修了课程却没有成绩的学生的学号、姓名、课程名

More Related