wodiannaoduile
2010-03-31 18:08
浏览 221
已采纳

关于SQL查询的问题?

-----------------表student---------------
name object socre

张三 数学 87
张三 语文 73
李四 数学 66
李四 语文 80
王五 数学 88
王五 语文 68
王五 英语 90

怎么查询出所用科目都>80分学生的姓名(SQL)

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • zxtzxz 2010-03-31 19:01
    已采纳

    select * from student where name not in (select name from student where sorce<80 group by name)

    思想:先查出存在科目小于80的所有学生,那么全都大于等于80的学生一定不在这些人里面

    打赏 评论
  • iteye_13500 2010-03-31 18:46

    [code="java"]SELECT *
    FROM (
    SELECT name, count( name ) num
    FROM testbb
    WHERE score >= '80'
    GROUP BY name
    ) M
    WHERE M.num >= (
    SELECT count(DISTINCT(object)
    ) FROM testbb
    ) [/code]

    思想,选中大于等于80分以上课程数和总课程数相同的学生。

    打赏 评论

相关推荐 更多相似问题