时间:2021-05-02
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<b.name;
commit
rollback
类型
服务器协议
全局数据库名称
服务器IP地址
服务器端口号
用户名和密码
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
SQL%NOTFOUND是一个布尔值。与最近的sql语句(update,insert,delete,select)发生交互,当最近的一条sql语句没有涉及任何行
案例描述在定时脚本运行过程中,发现当备份表格的sql语句与删除该表部分数据的sql语句同时运行时,mysql会检测出死锁,并打印出日志。两个sql语句如下:(1
ORM映射什么是ORM映射?在笔者认为就是对SQL语句的封装,所写语句与SQL对应语句含义相同,使开发更加简单方便,不过也是存在弊端的,使程序运行效率下降。例如
UPDATE是否会加锁?SQL语句为如下时,是否会加锁?UPDATEtable1SETnum=num+1WHEREid=1;答案是不会实际上MySQL是支持给数
与数据库交互的基本语言是sql,数据库每次解析和执行sql语句多需要执行很多步骤。以sqlserver为例,当数据库收到一条查询语句时,语法分析器会扫描sql语