Access爱好者--
所属分类: 经验分享 作者: 共享 更新日期:2003-11-17 8:54:51 阅读次数:762

经典子查询应用


求助,一个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


系统优化
控件使用
数据库设计
数据库连接
系统安全
OLE自动化
常见问题
实用代码
属性详解
网络相关
实用API
经验分享
精选教程
字符处理
ADP相关



文章搜索



制作维护:李寻欢     Mail:[email protected]

关于本站 -- 网站服务 -- 版权条款 -- 联系方法 -- 网站帮助
Access爱好者版权所有 Copyright 2003-2005 All Rights Reserved 未经许可不得盗链