学生选课表没有姓名,有学生表,课程表和选课表三个表
时间: 2024-10-29 08:23:49 浏览: 32
数据结构课程设计(学生选课管理系统)链表实现
如果学生选课信息分散在学生表、课程表和选课表中,而学生表里没有直接包含姓名,我们通常会通过联接这三张表来获取所需信息。在这种场景下,假设各表结构如下:
- 学生表(students): id, student_id (主键)
- 课程表(courses): course_id (主键), course_name
- 选课表(enrollments): student_id (外键), course_id
要查询既选了C++又选了Java的学生,我们可以编写如下的SQL查询:
```sql
SELECT s.student_id
FROM students s
JOIN enrollments e ON s.student_id = e.student_id
JOIN courses c1 ON e.course_id = c1.course_id AND c1.course_name = 'C++'
JOIN courses c2 ON e.course_id = c2.course_id AND c2.course_name = 'Java';
```
结果将返回那些拥有对应课程id的选课记录的学生id。
阅读全文