查询出每门课都大于80分的学生姓名
表结构:
name sname score
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
思路:先查找出分数<80分的学生的姓名,再找主表与新查出的表的差集就OK了!
具体sql如下:
select distinct name from score where name not in (select distinct name from score where score<=80)
not in 从性能角度来讲不是最优,请各位大神们指点下其他的写法!