数据库SQL语句中 查询选修了全部课程的学生的学号和姓名 查询选修了全部课程的学生姓名.SELECT SnameFROM StudentWHERE NOT EXISTS(SELECT *FROM CourseWHERE NOT EXISTS(SELECT *FROM SCWHERE Sno= Student.SnoAND Cno= Cours

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 04:41:02
数据库SQL语句中 查询选修了全部课程的学生的学号和姓名 查询选修了全部课程的学生姓名.SELECT SnameFROM StudentWHERE NOT EXISTS(SELECT *FROM CourseWHERE NOT EXISTS(SELECT *FROM SCWHERE Sno= Student.SnoAND Cno= Cours

数据库SQL语句中 查询选修了全部课程的学生的学号和姓名 查询选修了全部课程的学生姓名.SELECT SnameFROM StudentWHERE NOT EXISTS(SELECT *FROM CourseWHERE NOT EXISTS(SELECT *FROM SCWHERE Sno= Student.SnoAND Cno= Cours
数据库SQL语句中 查询选修了全部课程的学生的学号和姓名
查询选修了全部课程的学生姓名.
SELECT Sname
FROM Student
WHERE NOT EXISTS
(SELECT *
FROM Course
WHERE NOT EXISTS
(SELECT *
FROM SC
WHERE Sno= Student.Sno
AND Cno= Course.Cno);
怎么理解 求详解.很迷糊的说.
看来分少了没人回答啊.

数据库SQL语句中 查询选修了全部课程的学生的学号和姓名 查询选修了全部课程的学生姓名.SELECT SnameFROM StudentWHERE NOT EXISTS(SELECT *FROM CourseWHERE NOT EXISTS(SELECT *FROM SCWHERE Sno= Student.SnoAND Cno= Cours
首先头脑中有三点概念:
1 . EXISTS 子查询找到的提交
NOT EXISTS 子查询中 找不到的提交
说明:不要去翻译为存在和不存在,把脑袋搞晕.
2 . 建立程序循环的概念,这是一个动态的查询过程.如 FOR循环 .
3 . Exists执行的流程Exists首先执行外层查询,再执行内存查询,与IN相反. 流程为首先取出外
层中的第一元组, 再执行内层查询,将外层表的第一元组代入,若内层查询为真,即有结果
时.返回外层表中的第一元 组,接着取出第二元组,执行相同的算法.一直到扫描完外层整表 .
for(int i =0; iEOFout;i++)
{
for (int j = 0 ; j