宝安22班-代培军 发表于 2022-3-15 22:51:45

数据库13

1.查询出学习成绩及格以上的学生姓名与成绩;
select A.sname,B.grade
from A
left join B
on A.Sid = B.Sid
left join C
on B.Cid = C.Cid
where B.grade >60;

2.查询姓名以ny结尾的学生姓名及其任课老师姓名;
select A.sname,C.teacher
from A
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid
where A.sname like '%ny';

3.选修课名为Maths的学生学号与姓名;
select A.sid,A.sname
from A
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid
where cname='maths';

4.选修课号为C2和C4的学生学号;
select A.sid
from A
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid
where (B.cid='c2') or (B.cid='c4');

5.请问没有参加考试的学生的姓名及其学号;
select A.sid,A.sname
from A
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid
where B.grade is null;

6.请问总分在80分以上的学生姓名;
select A.sname
from A
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid
where B.grade >=80;

7.请问考试不及格的考生姓名以及科目名称;
select A.sname,C.cname
from A
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid
where B.grade <60;

8.找出Dany的所有考试后成绩中最高的科目的任课老师姓名;
select max(grade) as '最高分',C.cname,C.teacher
from A
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid;
9.各个科目的平均成绩各是多少;
select C.cname,avg(B.grade) as '平均分'
from A
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid
group by C.cname;

10.由于录入员的失误,导致TOM同学有成绩不及格的科目,请帮忙将其合理修正;
updateA
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid
set B.grade=78 where A.sname='tom' and B.grade<60;

11.显示出参加考试的学生的学号和姓名;
select distinct(A.sid),A.sname
from A
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid;

12.请问TOM一共参加了几门科目的考试;
select count(C.cname),C.cname
from A
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid
where A.sname='tom';

13.期末,DBA发现学生表中没有班级字段,请帮忙将其合理修正;
alter table A add class char(20);

14.学校新招了1位美术老师叫“白雪”,请在课程表中增加一条相应的记录,课程编号为C5;
insert into C(cid,cname,teacher)values('C5','painting','baixue');

15.赵姓的老师很早就离职了,然而课程表中却还有其上课的记录,请帮忙删除;
delete from C where C.teacher='zhaoliu';

16.请求出TOM同学所有任课老师的名字及其所教的课程名;
select C.cname,C.teacher
from A
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid
where A.sname='tom';

17.求每个同学的各科(总分或者平均)成绩,并以每一个人的成绩的先大后小的顺序显示;
select A.sname,C.cname,sum(B.grade)
from A
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid
group by A.sname,C.cname
order by B.grade desc;

18.请问张老师教什么课程,以及他班上所有学生的姓名;
select C.cname,A.sname
from A
left join B
on A.sid=B.sid
left join C
on B.cid=C.cid
where C.teacher='zhangsan
页: [1]
查看完整版本: 数据库13