服务器之家

服务器之家 > 正文

sql 语句练习与答案

时间:2020-01-08 16:14     来源/作者:MSSQL教程网

1学生表student

S#学号,sname姓名,difdate日期,班级grade

2课程表 course

c#课程号 ,名字cname

3成绩单score

s#学号 c#课程号 成绩score

--1统计每个班级有多少人

select grade,count(sname) from ze_student group by grade;

--2、2007级的各学生的平均成绩 没有成绩的为0;

select a.sname,(select avg(nvl(b.score,0)) from ze_score b where b.s#=a.s#) from ze_student a where grade=2007;

--3 每科 平均成绩和最高成绩 最低成绩 2007级 保留2位小数点 四舍五入

select b.c#,avg(b.score),max(b.score),min(nvl(b.score,0)) from ze_student a,ze_score b where b.s# = a.s# and a.grade =2007 group by b.c#;

--4 给2007级 数学加5分

update ze_score

set score=nvl(score,0)+5

where s# in (select s# from ze_student where grade=2007) and c# =(select c# from ze_course where cname='数学');

--5 90分以上的为优秀 90到85为良好,60分 不及格 各人平均成绩

select s#, c,

case

when c>=90 then '优秀'

when c<90 and c>=60 then '及格'

else '不及格' end as jige

from (select s#,avg(nvl(score,0)) as c from ze_score group by s# ) order by jige desc;

--6 求同月出生的 人数

select to_char(difdate,'mm') as 月份,count(s#) as 出生人数 from ze_student group by to_char(difdate,'mm');

--7 各科的及格率和平均成绩 截取 保留2位

--及格率

select c#,avg(nvl(score,0))as 平均成绩,sum(nvl(score,0))as 总成绩, count(s#) as 各科人数,

trunc(sum(

case when nvl(score,0)>60 then '1'

else '0' end)/count(s#),2) as 及格率

from ze_score group by c#;

--每人的及格率

select s#, avg(nvl(score,0))as 平均成绩,sum(nvl(score,0))as 总成绩, count(c#) as 总科目,

sum(

case when nvl(score,0)>60 then 1

else 0 end

)/count(c#) as 及格率

from ze_score group by s#;

--8删除 姓名是张三 的大学语文 成绩

select * from ze_score where s# in (select s# from ze_student where sname in '张三') and c#=(select c# from ze_course where cname ='大学语文');

--9 将数学替换成高等数学

update ze_course set cname='高等数学'where cname like '%数学%';

--10 格式化 ,显示 将学号修改成S开头 不足12位补0;

--查询

select concat('S',lpad(s#,11,0)) as s# from ze_score ;

select concat('S',lpad(s#,11,0)) as s# from ze_student ;

--格式化

update ze_score set s#= concat('S',lpad(s#,9,0));

update ze_student set s#= concat('S',lpad(s#,9,0));

四个足球队

select a.name,b.name from qiu a,qiu b where a.name

commit

rollback

服务器类型

服务器协议

全局数据库名称

服务器IP地址

服务器端口号

用户名和密码

标签:
SQL 

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
返回顶部