首页 > 代码库 > mysql学习——mysql查询语句综合练习
mysql学习——mysql查询语句综合练习
练习一:
设有成绩表stu如下:
姓名 | 科目 | 成绩 |
张三 | 数学 | 90 |
张三 | 语文 | 50 |
张三 | 地理 | 40 |
李四 | 语文 | 55 |
李四 | 政治 | 45 |
王五 | 政治 | 30 |
王五 | 数学 | 70 |
试查询两门及两门以上不及格同学的平均分
解答如下
1.创建数据表
create table stu(
id int primary key auto_increment,
name char(3) not null default‘‘,
subject char(3) not null default‘‘,
score decimal(3,1) not null default 0.0
)charset utf8;
2.写入数据
set names gbk;#这样中文汉字才可以正常输入
insert into stu
(name,subject,score)
values
(‘张三‘,‘数学‘,90),
(‘张三‘,‘语文‘,50),
(‘张三‘,‘地理‘,40),
(‘李四‘,‘语文‘,55),
(‘李四‘,‘政治‘,45),
(‘王五‘,‘政治‘,30),
(‘王五‘,‘数学‘,70);
3.查询
#本题的解答——查询存在两门(包含两门)以上课程不及格的学生的平均分
select name,avg(score),sum(score<60) as gk from stu group by name having gk>=2;
#其它相关查询1——查询存在两门(包含两门)以上课程不及格的学生的姓名
select name from stu where score<60 group by name having count(subject)>=2;
#其它相关查询2——对本题的一点解释
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。