首页 > 数据库技术 > 详细

sql查询

时间:2015-08-11 11:55:59      阅读:246      评论:0      收藏:0      [点我收藏+]

查找成绩表中所有成绩超过60的学生

t_stu(id int,course char(20),grade int);

 

这个重要的是思路,一个表中同一个人可能有的科目及格,有的不及格,如果正向的话就筛出错误的结果了,反向下ok

先查所有成绩不合格的人,这样只要有一科不合格就筛出来了,然后 not in

 select id from t_stu where id not in ( select id from t_stu where grade < 60) group by id;

但这种写法也存在问题,如果有人缺考,缺考的记录又不记录的话,这个人就被认为合格了,所以,这种情况下必须要把缺考记录也放进去.

 

sql查询

原文:http://www.cnblogs.com/decwang/p/4720347.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!