内容正文:
教学设计
课程基本信息
学科
信息技术
年级
三年级
学期
秋季
课题
3.1.3 数据查询
教学目标
1. 了解SQL语言的含义,以及其在数据库操作中的作用。
2. 能根据实际需求,使用SQL语言查询数据、提取信息。
3. 能根据实际需求对数据表进行插入、删除和更新操作。
教学内容
教学重点:
1. 使用SQL语言查询数据、提取信息。
2. 对数据库中的数据表进行插入、删除和更新操作。
教学难点:
1. 通过连接查询对多个表的数据进行选取与分析。
教学过程
一、导入
回顾上节课的内容:我们为“云课堂学习平台”系统创建了关系型数据库。
数据库包含讲师、课程、视频、在线测试、测试结果、视频学习情况、学生这7张数据表,
数据表与数据表之间相互关联。我们也为数据库导入了相关数据。现在,作为后台管理员的
你,面对如此庞大的数据,如何行使你的管理权限对数据操作呢?
二、新课讲授
1.SQL语言
让计算机运行程序,需要编写程序语言;而对数据库操作,我们需要使用SQL语言。
什么是SQL语言?作用是什么?介绍SQL语句的调试界面
2.数据查询
(1)投影:投影查询是从关系中选择若干属性列组成新的关系,是从列的角度的运算。
格式:SELECT 列名 FROM 数据表
SELECT表示查询,*表示所有,from连接数据来源
SQL不区分大小写,而SELECT和FROM是关键字,我们会使用大写加以区分。
SQL语言比较灵活,可以换行输入,也可以一行完成。
①查询所有讲师的所有信息
思考:数据来源哪张数据表?所有信息包含哪些列的数据?
SELECT *
FROM teachers
②查询讲师姓名和性别列信息SELECT name,sex FROM teachers
③查询讲师姓名和性别列信息并去除重复行数据SELECT DISTINCT name,sex FROM teachers
学生操作1:
下面请同学们暂停视频,打开学习任务单,在SQL编译界面下,完成如下操作:
①投影查询所有课程的所有信息
②投影查询课程名和简介列信息
(2)选择:选择是设置筛选条件,从行的角度运算。其中选择条件是一个逻辑表达式,取逻
辑值"真"或"假"。逻辑表达式支持逻辑运算符AND、OR、NOT
格式:SELECT 列名 FROM 数据表 WHERE 逻辑表达式
①查询所有女性讲师的信息
SELECT *
FROM teachers
WHERE sex = 0
学生操作2:
下面请同学们暂停视频,打开学习任务单,在SQL编译界面下,完成如下操作:
①查询一个名为"张佳怡"的用户信息
②查询所有编号大于100的男性用户信息
(3)排序:使用ORDER BY,指定一个或多个字段的升序或降序完成排序,默认是升序排序。
格式:SELECT 列名 FROM 数据表 ORDER BY 列名
①查询所有课程的编号、课程名称和授课教师编号并按授课教师编号升序返回查询结果。
SELECT id,name,teacherid
FROM courses
ORDER BY teacherid
"ORDER BY"后面连接的是排序的关键字,默认是升序,当要求降序时,只需在关键字后面添
加DESC即可。
(4)统计:使用查询语句时经常要做一些简单的统计计算,如统计数据集的元组数、对关系
中依据某属性的值分类求和或求平均值。
SELECT 分类列名,聚合函数名(汇总列名) FROM 数据表 GROUP BY 分类列名
①统计课程总量
SELECT COUNT(*) FROM courses
②按授课教师编号统计每名教师授课数量
SELECT teacherid,COUNT(*) FROM courses GROUP BY teacherid
SELECT语句小结:
SELECT [DISTINCT]
列名或 *
FROM 数据表名 投影
[WHERE 筛选条件] 选择
[GROUP BY 分组字段] 分组
[ORDER BY 排序字段] 排序
(5)连接查询:涉及两个表的查询,称为连接查询,连接师从两个关系的笛卡儿积中选取
属性之间满足一定条件的元组。
①查询每位讲师的授课课程。查询结果如右图所示:
思考:数据来自哪些数据表?
课程数据表中,有讲师的姓名吗?
每条记录都是有意义的吗?
你的判断依据是?
来源讲师和课程表,我们可以得到对两张表的查询,实际上是他们
的笛卡儿积运算。从结果上来看,并不是每一条记录都是有意义的。
在ID等于10的陈春秀讲师的数据中,只有scrach游戏设计和网页
制作是有意义的,其他