3)查询所有姓“王”的学生的信息。 4)统计每门课程的选课人数和最高分。 5)查询选修了2门及2门以上课程的学生的学号。 6)查询选修“C03”课程的学生的平均年龄。 7)查询选修课程名为“数据库原理及应用”的学生的学号和姓名。 8)查询同时选修了“C02”和“C03”课程的学生的学号。 9)查询成绩比该课程平均成绩高的学生的学号及成绩。 10)把“钱军”老师所讲授课程的选课记录全部删除。
时间: 2024-03-20 22:45:13 浏览: 14
3)查询所有姓“王”的学生的信息。
```
SELECT * FROM student WHERE stuName LIKE '王%';
```
4)统计每门课程的选课人数和最高分。
```
SELECT course.couName, COUNT(*) AS 选课人数, MAX(score.score) AS 最高分 FROM course, score WHERE course.couID = score.couID GROUP BY course.couName;
```
5)查询选修了2门及2门以上课程的学生的学号。
```
SELECT stuID FROM score GROUP BY stuID HAVING COUNT(DISTINCT couID) >= 2;
```
6)查询选修“C03”课程的学生的平均年龄。
```
SELECT AVG(age) AS 平均年龄 FROM student WHERE stuID IN (SELECT stuID FROM score WHERE couID = 'C03');
```
7)查询选修课程名为“数据库原理及应用”的学生的学号和姓名。
```
SELECT student.stuID, student.stuName FROM student, course, score WHERE student.stuID = score.stuID AND course.couID = score.couID AND course.couName = '数据库原理及应用';
```
8)查询同时选修了“C02”和“C03”课程的学生的学号。
```
SELECT stuID FROM score WHERE couID = 'C02' INTERSECT SELECT stuID FROM score WHERE couID = 'C03';
```
9)查询成绩比该课程平均成绩高的学生的学号及成绩。
```
SELECT score.stuID, score.score FROM score, (SELECT couID, AVG(score) AS avgScore FROM score GROUP BY couID) AS avgTable WHERE score.couID = avgTable.couID AND score.score > avgTable.avgScore;
```
10)把“钱军”老师所讲授课程的选课记录全部删除。
```
DELETE FROM score WHERE couID IN (SELECT couID FROM course WHERE teaName = '钱军');
```