MySQL任务管理器cmd代码启动,视图,逻辑删除和表中添加列,个人的理解等【诗书画唱】
cmd代码启动MySQL,在cmd中输入net start mysql(命令 启动 mysql)
或任务管理器中,开启MySQL等。
创建带有学生编号,姓名,性别,成绩的视图
在以上视图中查询编号大于5的学生的信息
在以上视图中查询性别为男的信息
统计每个人的平均成绩
统计男学生和女学生的平均成绩
查询班级平均成绩最高的人比最低的人多多少分


创建带有学生编号,姓名,性别,成绩的视图
--drop view viewName1
--【个人认为inner显示的是多表中都内容不为null的,left显示的是多表中,左内容有为null的,这里用left更好】
create view viewName1 as
select stu.xuehao,stu.xingming, stu.sex, cj.chengji ,zhuanyename from cj left join stu on cj.xuehao
=stu.xuehao left join zy on zy .zhuanyeid=cj.zhuanyeid
在以上视图中查询编号大于5的学生的信息
select * from viewName1 where xuehao> 5
在以上视图中查询性别为男的信息
select * from viewName1 where sex='男'
统计每个人的平均成绩
select xingming as '姓名' ,avg(chengji) as '平均成绩' from viewName1 group by xingming
统计男学生和女学生的平均成绩
select (select avg(chengji) from viewName1 where sex='男' ) as '男学生平均成绩'
, (select avg(chengji) from viewName1 where sex='女' ) as '女学生平均成绩'
2.创建班级学生平均成绩的视图
--drop view viewName2
create view viewName2 as
select stu.xuehao,stu.xingming, stu.sex, avg (chengji ) as 'avgChengjiKe' from cj left join stu on cj.xuehao
=stu.xuehao left join zy on zy .zhuanyeid=cj.zhuanyeid group by xingming
--drop view viewName3
create view viewName3 as
select avg (chengji ) as 'avgChengjiClass' from cj left join stu on cj.xuehao
=stu.xuehao left join zy on zy .zhuanyeid=cj.zhuanyeid
查询课程平均成绩最高的人比最低的人多多少分
select (max(avgChengjiKe) -min(avgChengjiKe) ) as '课程平均成绩最高的人比最低的人多的分数'
from viewName2
在以上视图查询平均成绩比班级平均成绩高的人
select xingming as '姓名' ,avgChengjiKe as '课程平均成绩' ,(select avgChengjiClass from viewName3)
as '班级平均成绩'
from viewName2 where avgChengjiKe >(select avgChengjiClass from viewName3)
在以上视图查询那些人的课程分数低于班级平均成绩
select xingming as '姓名' , chengji as '成绩' ,zhuanyename as '课程名' ,(select avgChengjiClass from viewName3) as '班级平均成绩'
from viewName1 where chengji<(select avgChengjiClass from viewName3)
统计班级有那些人的那些课程分数高于班级的平均成绩
--select * from stu
--select * from cj
--drop view viewName5
select xingming as '姓名' , chengji as '成绩' ,zhuanyename as '课程名' ,(select avgChengjiClass from viewName3) as '班级平均成绩'
from viewName1 where chengji >(select avgChengjiClass from viewName3)
3.创建每个人拥有几门课程的视图,显示每个人的姓名和课程名称
create view viewName5 as (select xingming as '姓名', count(distinct zhuanyename) as'a' ,zhuanyename as '课程名' from stu left join cj on stu.xuehao=cj.xuehao
left join zy on zy.zhuanyeid=cj.zhuanyeid group by xingming)
统计班级最多课程的人比最少课程的人的课程多几门
select (max(a) -min(a) ) as '最多课程的人比最少课程的人的课程多几门' from viewName5


