有三张表学生表Student,课程表course,成绩表score 查询所有学生各科成绩 得分 要求显示学生姓名 课程 得分
时间: 2024-03-11 17:47:33 浏览: 101
可以使用 JOIN 操作来连接三张表,然后选择需要的列进行查询。以下是一个示例 SQL 查询语句:
```
SELECT Student.name, course.course_name, score.score
FROM Student
JOIN score ON Student.id = score.student_id
JOIN course ON course.id = score.course_id;
```
假设 Student 表中有 id 和 name 两列,course 表中有 id 和 course_name 两列,score 表中有 student_id、course_id 和 score 三列。上述 SQL 语句将返回所有学生各科成绩的查询结果,包括学生姓名、课程名称和得分。
相关问题
用MySQL写一篇关于 2、现有学生,课程,成绩三张表。 student(学生表):stu_id:学生id,stu_name:学生姓名,birthday:学生出生日期,stu_sex:学生性别。 course(课程表):cou_id:课程id,cou_name:课程名字。 grades(成绩表):stu_id:学生id,cou_id:课程id;score:成绩。 学生表student 课程表course 成绩表grades (1)查询名字中含有“云”字的学生信息。要求:写出查询的字段名。 (2)查询每门课的最高成绩、最低成绩、平均成绩。要求:查询结果列表名分别为课程、最高成绩、最低成绩、平均成绩。
好的,您的问题我已经接收到了。以下是您所需要的MySQL代码:
(1) 查询名字中含有“云”字的学生信息,字段名为:学生id、学生姓名、学生出生日期、学生性别。
```sql
SELECT stu_id, stu_name, birthday, stu_sex
FROM student
WHERE stu_name LIKE '%云%';
```
(2) 查询每门课的最高成绩、最低成绩、平均成绩,查询结果列表名分别为:课程、最高成绩、最低成绩、平均成绩。
```sql
SELECT cou_name AS 课程, MAX(score) AS 最高成绩, MIN(score) AS 最低成绩, AVG(score) AS 平均成绩
FROM course
INNER JOIN grades ON course.cou_id = grades.cou_id
GROUP BY cou_name;
```
希望以上MySQL代码能够解决您的问题,如有疑问请随时追问。
1简答题)1. 现有学生成绩管理数据库studentDB中有学生表student、课程表course、成绩表score三张表。具体如下: Student(sno,sname,sex,birthday,class,remark),各属性含义为:学号,姓名,性别,出生日期,班级,备注 course(id,cNo,cName,cdept),各属性的含义为:课程id,课程编号,课程名称,系号。 score(id,sId,cId,grade),各属性的含义为:成绩id,学生id,课程id,成绩。 利用SQL语
句查询:
1. 查询学生表中所有学生的信息。
```
SELECT * FROM Student;
```
2. 查询课程表中所有课程的信息。
```
SELECT * FROM course;
```
3. 查询成绩表中所有成绩的信息。
```
SELECT * FROM score;
```
4. 查询学生表中姓“张”的学生信息。
```
SELECT * FROM Student WHERE sname LIKE '张%';
```
5. 查询成绩表中成绩在60分及以下的记录。
```
SELECT * FROM score WHERE grade <= 60;
```
6. 查询课程表中“计算机科学与技术”系开设的所有课程。
```
SELECT * FROM course WHERE cdept = '计算机科学与技术';
```
7. 查询学生表中每个班的平均分。
```
SELECT class, AVG(grade) FROM score GROUP BY class;
```
8. 查询学生表中出生日期在1998年之后的学生信息。
```
SELECT * FROM Student WHERE birthday > '1998-01-01';
```
阅读全文
相关推荐














