10-66 查询选修张老师讲授所有课程的学生
时间: 2023-11-16 08:47:20 浏览: 88
根据引用中的查询语句,我们可以使用以下SQL语句来查询选修张老师讲授所有课程的学生:
SELECT sname FROM stu WHERE NOT EXISTS (
SELECT * FROM cou WHERE NOT EXISTS (
SELECT * FROM sc WHERE sc.sno=stu.sno AND sc.cno=cou.cno
) AND cou.teacher = '张老师'
)
相关问题
查询选修了张老师所讲授的所有课程的学生。
好的,要查询选修了张老师所讲授的所有课程的学生,可以使用如下的 SQL 语句:
```
SELECT DISTINCT Student.StudentID, Student.Name
FROM Student, SC, Course
WHERE Student.StudentID = SC.StudentID
AND SC.CourseID = Course.CourseID
AND Course.Teacher = '张老师';
```
以上 SQL 语句假设有三张表:Student(学生信息表)、SC(学生选课表)和Course(课程信息表)。其中,Student 表包括 StudentID(学生编号)和 Name(姓名)等列,SC 表包括 StudentID、CourseID(课程编号)和 Score(成绩)等列,Course 表包括 CourseID、CourseName(课程名称)和 Teacher(教师姓名)等列。
注意,以上的 SQL 语句中,我们使用了 DISTINCT 关键字来确保结果集中每个学生只出现一次。同时,我们使用了 WHERE 子句来过滤出选修了张老师所讲授的所有课程的学生。
R10-9 查询没有选修'C语言'课程的学生
可以使用以下 SQL 语句来查询没有选修'C语言'课程的学生:
```
SELECT student_id, student_name
FROM student
WHERE student_id NOT IN (
SELECT student_id
FROM course_selection
WHERE course_id = 'C语言'
)
```
该语句首先使用子查询获取选修了'C语言'课程的学生ID,然后在学生表中查询不在该子查询结果中的学生ID和学生姓名。