经典子查询应用
求助,一个ACCESS的查询问题~~有3个表:student(内含sno,学生学号,sname,学生姓名,sage学生年龄,ssex,学生性别),sc表(sno,学生学号,cno,选修课号,grade,成绩,),course表(cno,学修课号,以及其它信息) 现在用SQL语句做一个查询:查询所有成绩为优秀(大于90分)的学生的姓名 即该学生有一门选修课低于90分便不行 我试了好多次,都不成功。 求教这个查找的思路和解法,谢谢了! 没牙兔兔: 呵呵,这种我比较有兴趣,怎么感觉这个例子和 上课举的是一摸一样的哦 难道你还是学生啊? 思路:先查出成绩表中所有不满足条件的学号 然后在学生表中排除这些学号,所有优秀学生就出来啦 select * from student where student.sno not in (SELECT distinct sc.sno FROM sc WHERE (((sc.成绩)<="90"))) 嘻嘻,还有一种思路 使用group,找出所有学生最小成绩 然后再判断最小成绩是不是>90 select * from (SELECT sc.sno, Min(sc.成绩) AS 成绩之Min, student.姓名 FROM sc RIGHT JOIN student ON sc.sno = student.sno GROUP BY sc.sno, student.姓名) where 成绩之Min>'90'
--------------------------------------------------------------------------------
相关文章
MS Jet SQL for Access 2000中级篇 (III) 2003-10-17 18:51:47
|