请问高程教程上的:用SQL查询“全部学习全部课程学生姓名”怎么理解?
高程教程268-269:
S(S#,sname,age,sex)
SC(S#,C#,grade)
C (C#,Cname,teacher)
检索学习全部课程的学生姓名 书上写为:
select sname
from s
where not exists
( select *
from c
where not exists
(
select *
from sc
where sc.s#=s.s# and sc.c#=c.c#)
)
我就是不理解,为什么可以这么写,还有这个选择的处理过程是什么(比如说嵌套查询是最内层往外一层一层查询,可是不明白 not exists 到底怎么将查询结果送回外面一层)?谢谢!! 如果分不够可以再加!!!
S(S#,sname,age,sex)
SC(S#,C#,grade)
C (C#,Cname,teacher)
检索学习全部课程的学生姓名 书上写为:
select sname
from s
where not exists
( select *
from c
where not exists
(
select *
from sc
where sc.s#=s.s# and sc.c#=c.c#)
)
我就是不理解,为什么可以这么写,还有这个选择的处理过程是什么(比如说嵌套查询是最内层往外一层一层查询,可是不明白 not exists 到底怎么将查询结果送回外面一层)?谢谢!! 如果分不够可以再加!!!
...全文
相关推荐
查询至少学习了1号课程和2号课程的学生的学号,姓名的八种写法
**集合查询的EXCEPT**: 首先找到学习1号课程但不学习2号课程的学生,然后排除这些学生,得到的是同时学习1号和2号课程的学生。
查询数据库中所有有成绩的学生的学号和课程号
**查询每个学生的学号、姓名、选修的课程名及成绩**: 类似于上一个查询,这个查询也涉及到了多表联接。但是,它没有特定的课程或成绩条件,而是返回每个学生的所有课程信息。
SQL学生成绩查询
例如,我们可以使用以下语句查询学生信息:select * from s10060112 where sno='08010101'本资源还介绍了如何使用SQL语言来建立数据库和录入数据,希望能够帮助学习者更好地理解
学生-课程-选课(学习数据库经典的例子,3个表SQL Server数据库)
总之,"学生-课程-选课"是一个极好的学习资源,它不仅涵盖了数据库设计的基础知识,也提供了实践机会,让学习者能够亲手操作数据库,加深对关系型数据库的理解。
只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名
在SQL查询中,有时我们需要获取特定学生的信息,如姓名和成绩,同时还要知道这个学生在所有学生中的排名。这个问题可以通过子查询或者窗口函数来解决。


