查询选了所有课的学生姓名(自己的一点小理解)
SELECT Name FROM Student 是从Student 表中一个元组一个元组地查询符合WHERE条件的学生姓名;
最内层SELECT * FROM SC
WHERE Sno = Student.Sno AND Cno = Course.Cno
是查询学号为Sno的学生选课的情况,生成一个学号为Sno学生和其所选课程信息的结果表;
次外层
SELECT * FROM Course
WHERE NOT EXISTS (
SELECT * FROM SC
WHERE Sno = Student.Sno AND Cno = Course.Cno)
从Course 表中一个元组一个元组地查询,若WHERE 返回true(最内层的查询结果为空,即没有选此门课)则将此元组(课程信息)放入结果表中,若为false(上层查询结果不为空,即选了此门课)则不放入;
最外层
SELECT Name FROM Student
WHERE NOT EXISTS (
SELECT * FROM Course
WHERE NOT EXISTS (
SELECT * FROM SC
WHERE Sno = Student.Sno AND Cno = Course.Cno));
若WHERE返回true(Course结果表为空,即选了所有课)则将Student表的元组中的Sname(即当前查询的学生姓名)放入最终结果表中;所WHERE返回false(Course结果表不为空,即有没选的课)则不放入最终结果表中。
最后查询的即为选了所有课的学生的姓名。
...全文
相关推荐
查询至少学习了1号课程和2号课程的学生的学号,姓名的八种写法
查询至少学习了1号课程和2号课程的学生的学号,姓名的八种写法,是非常经典的
学生信息管理(学生信息的录入、修改、查询、删除)
设计题目:学生信息管理系统 设计要求: 设计要求实现如下功能: (1)建立学生信息数据,包括学号、姓名、性别、三科成绩、出生时间、年龄(必须计算得到)。 (2)使用继承的方法构造至少3个类,(即学生类——虚基类,本科生和研究生类——派生类)使用相应的对象放置10个学生信息。 (3)编写同名display()成员函数,用来输出数组的内容。 (4)按不同类别输出学生信息,比如按性别。(可选功能) (5)要求对“<<”和“>>”运算符进行重载。 (6)抽取并计算学生的平均成绩。 (7)按照至少一科成绩进行排序。 (8)检索(查找)指定信息。(如按姓名检索、按年龄检索)
数据结构课设,宿舍管理查询软件
按学生姓名,学号查询。信息的更新,查询,删除
数据多重完整嵌套查询语句mysql
包含多个数据实例,由简入繁,涉及各种函数的应用,多重完整嵌套查询。适合入门小白,面试知识点契合度高。
查询学生不同科目的成绩
本资源 主要是根据两个表(student)和科目分数表(grade)的sql语句查询,适合目前学习mysql数据库进行练习多表查询的操作。主要是针对三个问题展开的①列出各门课程成绩最好的2位学生,要求显示字段:学号,姓名,科目,成绩;②计算每个人的成绩,总分数,平均分,要求显示学号,姓名,语文,数学,英语,总分,平均分;③列出数学成绩的排名(要求显示字段:学号,姓名,成绩,排名)。资源里展现了从创建数据库到查询的全部过程。



