--⒅ 查询选修了学号为20121323001的同学所选修的全部课程的学生姓名、学号、课程名。
时间: 2024-06-13 18:08:54 浏览: 53
以下是查询选修了学号为20121323001的同学所选修的全部课程的学生姓名、学号、课程名的SQL语句:
```
SELECT s.学号, s.姓名, c.课程名
FROM 学生 s, 课程 c, 选课记录 r
WHERE s.学号 = r.学号 AND c.课程代码 = r.课程代码 AND r.学号 = '20121323001';
```
相关问题
已知三个关系分别为: S(学号,姓名,年龄,性别,系) C(课程号,课程名,学时,任课教师) SC( 学号,课程号,成绩) 试写出满足下列要求的关系代数 查询T1老师所授课程的课程号和课程名 查询年龄大于18岁男同学的学号、姓名和系别 查询“李丽”老师所授课程的课程号、课程名和课时 查询学号为S1的同学选修的课程的课程号、课程名和成绩
好的,下面是满足要求的关系代数表达式:
1. 查询 T1 老师所授课程的课程号和课程名:
$$
\Pi_{课程号,课程名}(C \Join_{C.任课教师=T1} SC)
$$
2. 查询年龄大于18岁男同学的学号、姓名和系别:
$$
\Pi_{学号,姓名,系}(S \Join_{S.学号=SC.学号} (\sigma_{年龄>18 \land 性别='男'}(S) \Join SC))
$$
3. 查询“李丽”老师所授课程的课程号、课程名和课时:
$$
\Pi_{课程号,课程名,学时}(C \Join_{C.任课教师='李丽'} SC)
$$
4. 查询学号为 S1 的同学选修的课程的课程号、课程名和成绩:
$$
\Pi_{课程号,课程名,成绩}(C \Join SC \Join_{SC.学号=S1} (\sigma_{S.学号=S1}(S)))
$$
其中,$\sigma$ 表示选择操作,$\Join$ 表示自然连接操作,$\Pi$ 表示投影操作。
30.查询选修c2和c3课程的学生学号 31.查询选修了课程’c1'并且选修课程在三门以上的同学学号 32.检索至少选修两门课程的学生姓名。(采用自身连接查询)
30. 查询选修c2和c3课程的学生学号可以使用以下SQL语句:
SELECT DISTINCT student_id FROM course_selection WHERE course_id IN ('c2', 'c3');
31. 查询选修了课程’c1'并且选修课程在三门以上的同学学号可以使用以下SQL语句:
SELECT student_id FROM course_selection WHERE course_id = 'c1' GROUP BY student_id HAVING COUNT(DISTINCT course_id) >= 3;
32. 检索至少选修两门课程的学生姓名(采用自身连接查询)可以使用以下SQL语句:
SELECT DISTINCT a.student_name FROM course_selection a, course_selection b WHERE a.student_id = b.student_id AND a.course_id <> b.course_id;
阅读全文