MySQL任務(wù)管理器cmd代碼啟動,視圖,邏輯刪除和表中添加列,個人的理解等【詩書畫唱】
cmd代碼啟動MySQL,在cmd中輸入net start mysql(命令 啟動 mysql)
或任務(wù)管理器中,開啟MySQL等。
創(chuàng)建帶有學(xué)生編號,姓名,性別,成績的視圖
在以上視圖中查詢編號大于5的學(xué)生的信息
在以上視圖中查詢性別為男的信息
統(tǒng)計每個人的平均成績
統(tǒng)計男學(xué)生和女學(xué)生的平均成績
查詢班級平均成績最高的人比最低的人多多少分


創(chuàng)建帶有學(xué)生編號,姓名,性別,成績的視圖
--drop view viewName1
--【個人認(rèn)為inner顯示的是多表中都內(nèi)容不為null的,left顯示的是多表中,左內(nèi)容有為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的學(xué)生的信息
select * from? viewName1 where xuehao> 5
在以上視圖中查詢性別為男的信息
select * from? viewName1 where sex='男'
統(tǒng)計每個人的平均成績?
select? ?xingming as '姓名' ,avg(chengji)? as '平均成績' from? viewName1 group by xingming
統(tǒng)計男學(xué)生和女學(xué)生的平均成績
select? ?(select? ?avg(chengji) from? viewName1 where sex='男' ) as '男學(xué)生平均成績'?
, (select? avg(chengji) from? viewName1 where sex='女' ) as '女學(xué)生平均成績'?
2.創(chuàng)建班級學(xué)生平均成績的視圖
--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 '課程平均成績最高的人比最低的人多的分?jǐn)?shù)'?
? from? viewName2?
在以上視圖查詢平均成績比班級平均成績高的人
select? ? xingming as '姓名' ,avgChengjiKe as '課程平均成績' ,(select avgChengjiClass? ?from viewName3)?
as '班級平均成績'?
? from? viewName2? where? ?avgChengjiKe >(select avgChengjiClass? ?from viewName3)?
在以上視圖查詢那些人的課程分?jǐn)?shù)低于班級平均成績
select? ? xingming as '姓名' , chengji? as '成績'? ?,zhuanyename as '課程名' ,(select avgChengjiClass? ?from viewName3) as '班級平均成績'?
from? viewName1? where? ? ?chengji<(select avgChengjiClass? ?from viewName3)?
統(tǒng)計班級有那些人的那些課程分?jǐn)?shù)高于班級的平均成績
--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.創(chuàng)建每個人擁有幾門課程的視圖,顯示每個人的姓名和課程名稱
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)
統(tǒng)計班級最多課程的人比最少課程的人的課程多幾門
?select? (max(a) -min(a) )? as '最多課程的人比最少課程的人的課程多幾門' from viewName5


