以下为《实训5-简单数据库应用(4)》的无排版文字预览,完整内容请下载
实训五 单表数据库的数据查询分组排序
【实训目的】
1.掌握单表数据查询的方法
2.能够使用选择、投影、排序、分组等方式查询数据
3.能够使用聚合函数做数据统计
【知识点总结】
1.查询语句基本写法
select 列1,列2,…列n
from 表名
where 选择条件;
2.列别名
写在select分句:as 列别名
3.列计算
select分句支持在列上做表达式计算
4.分情况给结果
写在select 分句:
case
when 条件1 then 值1
when 条件2 then 值2
…
when 条件n then 值n
else值x
end
5.去除重复
写在select分句:distinct 列名
6.列统计
常用聚合函数有5个。最大值max() 最小值min() 计数count() 求和sum() 求平均avg() 标准差stddev() 方差variance()
7.选择条件
写在where分句:
(1)比较运算符 =(等于)、=(大于等于)、(相等或都等于空)、(不等于)、!=(不等于) is null (是空值)
between A and B(取值在AB之间,含AB)
(2)逻辑运算符 and or not
(3)模式匹配 like
%表示若干个未知字符 _表示一个未知字符 支持char、varchar、text、datetime
(4)正则匹配 regexp或rlike
特殊字符
含 义
^
匹配字符串的开始部分
$
匹配字符串的结束部分
.
匹配任何一个字符(包括回车和新行)
*
匹配星号之前的0个或多个字符任何序列(匹配前面的子表达式任意次)
+
匹配加号之前的1个或多个字符的任何序列
?
匹配问号之前0个或多个字符(匹配前面的子表达式零次或一次。)
{n}
匹配括号前的内容出现n次的序列
()
匹配括号里的内容
[abc]
字符集合。匹配所包含的任意一个字符。
[a-z]
匹配方括号里出现的a~z之间的1个字符
[^a-z]
匹配方括号里出现的不在a~z之间的1个字符
|
匹配符号左边或右边出现的字符串 或者
[[. .]]
匹配方括号里出现的符号(如空格、换行、括号、句号、冒号、加号、连字符等)
[[::]]
匹配一个单词的开始和结束
[[: :]
匹配方括号里出现的字符中的任意一个字符
【疑难解答】
【数据准备】
1.创建一个学生成绩数据库xscj并进入。
2.导入数据。
【实训任务一】分组 group by
1. 跟着我做:
输出全部专业名
你来模仿做:
输出参加考试的学生学号
对比:distinct
2. 跟着我做:
统计男生和女生的人数,列出性别和人数。
你来模仿做:
统计各门课程的平均分,列出课程号和平均成绩。
试一试:
统计各专业男生和女生的人数,列出专业名、性别和人数。
3.分类汇总
跟着我做:
统计男生和女生的人数,列出性别和人数,带汇总行。
你来模仿做:
查询各科平均分超过70分的学生,列出学号和平均成绩,带汇总行。
统计各专业男生和女生的人数,列出专业名、性别和人数,带汇总行。
4.限定分组
跟着我做:
having
查询人数超过10人的专业,列出专业名和人数。
你来模仿做:
查询各科平均分超过85分以上的学生,列出学号和平均成绩。
对比:
where子句:限定行,次序 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。
2)求被选修的各门课程的平均成绩(别名“平均成绩两位学号姓名缩写”)和选修该课程的人数(别名“选修人数两位学号姓名缩写”)。
3) 查询总成绩在200分以上的学生学号、总成绩。总成绩列别名“总成绩两位学号姓名缩写”
4) 查询计算机专业的学生学号、性别、出生日期。要求结果按照性别升序,出生日期降序排列。
列出计算机专业总学分排名3-10名的学生信息。
5) 查找计算机专业年龄最小的学生学号、姓名、出生日期。
6) 查找通信专业年龄大的,排名在第3到第5位的学生学号、姓名、出生日期。
7) 使用handler语句,打开学生表,读取第一个女生的信息。以及下一个女生的信息。然后关闭学生表。
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《实训5-简单数据库应用(4)》的无排版文字预览,完整内容请下载
实训5-简单数据库应用(4)由用户“yycb_007”分享发布,转载请注明出处