码迷,mamicode.com
首页 > 数据库 > 详细

sql查询

时间:2015-08-11 11:56:46      阅读:142      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!