Sql 练习题(五)

--(1)将一个新生插入到Student表中,其学号为:0821105,姓名为:陈冬,性别为:男,年龄18岁,信息管理系学生。

insert into Student values('0821105','陈冬','男','18','信息管理系');

--(2)在SC表中插入3条新记录,学号均为“0821105”,选修的课程号分别为“C001”、“C002”和“C004”,成绩分别为:90、88和NULL。

insert into SC values('0821105','C001','90'),
                     ('0821105','C002','88'),
                     ('0821105','C004','null');

--(3)将一新学生插入到student表中,其学号为:0811105,姓名为:李丽,性别为:女,年龄暂缺,计算机系学生。

insert into Student values('0811105','李丽','女','','计算机系');

--(4)统计每门课程的平均成绩,并把统计结果保存到一个新表X4中。

select AVG(grade) 平均成绩 into X4 from SC where grade is not null group by Cno ;

--(5)通过使用TOP子句插入数据。建立一个新表Top_Grade,结构包括学生姓名、所在系、选的课程名和考试成绩, 将查询结果的前6行数据插入Top_Grade表。

select top 6 s.sname 学生姓名, dept 所在系,Cname 课程名,Grade 考试成绩 into Top_Grade 
from student s join SC c on s.sno=c.Sno 
join course co on c.cno=co.cno 
order by Grade desc;

--(6)将所有学生的年龄加1。

update student set  sage=sage+1;

--(7)将“C001”号课程的学分改为5。

update Course set Credit=5 where Cno='C001';

--(8)将计算机系全体学生的成绩加5分。

update SC set Grade+=5 where Sno in (select Sno from student where Dept ='计算机系');

--(9)将Java课程改为第2学期开设,3个学分。

update Course set Semester=2 , credit=3 where cname='Java';

--(10)将SC表复制成为SCnew1,在SCnew1中删除所有学生的选课记录。

select *into SCnew1 from SC; 
delete from SCnew1;

--(11)将SC表复制成为SCnew2,在SCnew2中删除所有不及格学生的选课记录。

select *into SCnew2 from SC;
delete from SCnew2 where Grade<60; 

--(12)将SC表复制成为SCnew3,在SCnew3中删除计算机系不及格学生的选课记录。

select *into SCnew3 from SC;
delete from SCnew2 where Grade<60 and sno in (select Sno from student where Dept ='计算机系');

--(13)删除JAVA考试成绩最低的学生的JAVA修课记录。

delete from SC where grade <= 
            (select MIN(grade) from SC c join course co on c.cno=co.cno group by Cname having Cname='Java') 
            and cno in(select Cno from Course where Cname='Java');

--(14) 将学分最低的课程的学分加2分。

update Course set Credit+=2 where Credit<=(select MIN(credit) from Course );

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好学的9527

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值