创建系部表,学生表,课程表,成绩表,查询学生的学号、姓名及选修的课程名
时间: 2023-06-05 22:04:54 浏览: 180
很好的一个问题!我可以帮您回答。对于这个问题,我可以提供以下解决方案:
1. 首先,需要创建一个系部表,包含系部编号和系部名称两个字段。
2. 然后,创建一个学生表,包含学生编号、学生姓名、性别、年龄、所属系部编号等字段。
3. 接下来,创建一个课程表,包含课程编号、课程名称、授课教师、学分等字段。
4. 最后,创建一个成绩表,包含学生编号、课程编号、成绩等字段。
5. 查询学生的学号、姓名及选修的课程名可以通过联表查询成绩表和学生表以及课程表得到。
希望我的回答对您有所帮助!
相关问题
数据库MySQL查询学生的学号、姓名、选修课程的课程名及成绩。(3表连接)
假设我们有三张表:`students`、`courses`和`scores`,分别存储学生信息、课程信息和成绩信息。它们的结构如下:
```
students表:
+----+--------+
| id | name |
+----+--------+
| 1 | Alice |
| 2 | Bob |
| 3 | Charlie|
+----+--------+
courses表:
+----+-----------+
| id | name |
+----+-----------+
| 1 | Math |
| 2 | Physics |
| 3 | Chemistry |
+----+-----------+
scores表:
+----+------------+--------+-------+
| id | student_id | course_id | score |
+----+------------+----------+-------+
| 1 | 1 | 1 | 90 |
| 2 | 1 | 2 | 85 |
| 3 | 2 | 1 | 95 |
| 4 | 2 | 3 | 80 |
| 5 | 3 | 2 | 92 |
| 6 | 3 | 3 | 88 |
+----+------------+----------+-------+
```
我们可以通过以下 SQL 语句查询学生的学号、姓名、选修课程的课程名及成绩:
```
SELECT students.id, students.name, courses.name, scores.score
FROM students
INNER JOIN scores ON students.id = scores.student_id
INNER JOIN courses ON scores.course_id = courses.id;
```
运行结果如下:
```
+----+--------+-----------+-------+
| id | name | name | score |
+----+--------+-----------+-------+
| 1 | Alice | Math | 90 |
| 1 | Alice | Physics | 85 |
| 2 | Bob | Math | 95 |
| 2 | Bob | Chemistry | 80 |
| 3 | Charlie| Physics | 92 |
| 3 | Charlie| Chemistry | 88 |
+----+--------+-----------+-------+
```
查询学生的学号、姓名、选修的课程名及成绩。
要查询学生的学号、姓名、选修的课程名及成绩,可以使用以下SQL语句:
SELECT stu.stuid, stuname, couname, score
FROM stu
JOIN scores ON stu.stuid = scores.stuid
JOIN course ON scores.couid = course.couid;
这个SQL语句使用了JOIN语句,将学生表、成绩表和课程表连接起来,从而得到学生的学号、姓名、选修的课程名和成绩。其中,stu.stuid表示学生的学号,stuname表示学生的姓名,couname表示选修的课程名,score表示成绩。