宝安22班廖苏苏 发表于 2022-3-15 11:51:37

3.15数据库三表题目

1.查询出学习成绩及格以上的学生姓名与成绩;
SELECT SNAME,GRADE
FROM B
LEFT JOIN A
ON B.SID=A.SID
WHERE GRADE>60;


2.查询姓名以ny结尾的学生姓名及其任课老师姓名;
SELECT sname,teacher
FROM B
LEFT JOIN A
ON B.SID=A.SID
LEFT JOIN C
ON B.CID=C.CID
WHERE SNAME LIKE '%ny';


3.选修课名为Maths的学生学号与姓名;
select A.SID,A.SNAME
from B
left join A
on B.sid=A.sid
left join C
on B.Cid=C.Cid
WHERE CNAME='MATHS';





4.选修课号为C2和C4的学生学号;
SELECT A.SID
FROM B
LEFT JOIN A
ON B.SID=A.SID
WHERE CID='C2' OR CID='C4';



5.请问没有参加考试的学生的姓名及其学号;
SELECT A.SNAME,A.SID
FROM B
LEFT JOIN A
ON B.SID=A.SID
WHERE GRADE IS NULL;


6.请问总分在80分以上的学生姓名;
SELECT A.SNAME
FROM B
LEFT JOIN A
ON B.SID=A.SID
WHERE GRADE>80;

7.请问考试不及格的考生姓名以及科目名称;
SELECT A.SNAME,C.CNAME
FROM B
LEFT JOIN A
ON B.SID=A.SID
LEFT JOIN C
ON B.CID=C.CID
WHERE GRADE <60;


8.找出Dany的所有考试后成绩中最高的科目的任课老师姓名;
SELECT MAX(GRADE),C.TEACHER
from B
LEFT JOIN A
ON B.SID=A.SID
LEFT JOIN C
ON B.CID=C.CID
WHERE A.SNAME='DANY';

9.各个科目的平均成绩各是多少;
SELECT AVG(B.GRADE),C.CNAME
FROM B
LEFT JOIN C
ON B.CID=C.CID
GROUP BY GRADE;


10.由于录入员的失误,导致TOM同学有成绩不及格的科目,请帮忙将其合理修正;
UPDATE B
SET B.GRADE=80
WHERE B.SID=(SELECT A.SID FROM A WHERE
A.SNMAE='TOM') AND B.GRADE<60;
SELECT * FROM B;




11.显示出参加考试的学生的学号和姓名;
SELECT A.SID,A.SNAME
FROM B
LEFT JOIN A
ON B.SID=A.SID
WHERE B.GRADE IS NOT NULL;



12.请问TOM一共参加了几门科目的考试;
SELECT CNAME
FROM B
LEFT JOIN A
ON B.SID=A.SID
LEFT JOIN C
ON B.CID=C.CID
WHERE A.SNAME='TOM';


13.期末,DBA发现学生表中没有班级字段,请帮忙将其合理修正;
ALTER TABLE A ADD CLASS INT(10);
SELECT * FROM A

14.学校新招了1位美术老师叫“白雪”,请在课程表中增加一条相应的记录,课程编号为C5;
INSERT INTO C(CID,CNAME,TEACHER) VALUES('C5','Art','baixue');
SELECT * FROM C

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

16.请求出TOM同学所有任课老师的名字及其所教的课程名;
SELECT C.CNAME,C.TEACHER
FROM B
LEFT JOIN A
ON B.SID=A.SID
LEFT JOIN C
ON B.CID=C.CID
WHERE A.SNAME='TOM';



17.求每个同学的各科(总分或者平均)成绩,并以每一个人的成绩的先大后小的顺序显示;
SELECT AVG(B.GRADE),A.SNAME
FROM B
LEFT JOIN A
ON B.SID=A.SID
LEFT JOIN C
ON B.CID=C.CID
GROUP BY B.GRADE
ORDER BY B.GRADE DESC;



18.请问张老师教什么课程,以及他班上所有学生的姓名;
SELECT A.SNAME,C.CNAME
FROM A
LEFT JOIN B
ON A.SID=B.SID
LEFT JOIN C
ON B.CID=C.CID
WHERE C.TEACHER='zhangsan';


页: [1]
查看完整版本: 3.15数据库三表题目