用一条sql语句查询出“每门”课程都大于80分的学生姓名Name    chengji      fengshu
张三     数学          75
张三     语文          81
李四     数学          90
李四     语文          76
王五     数学          81
王五     语文          100
王五     英语          90  

解决方案 »

  1.   


    select a.name 
    from (select name,count(kecheng) kecheng
          from tab a 
          group by a.ename) a ,
        (select name,count(kecheng) kecheng80
         from tab
         where fenshu > 80
         group by name) b
    where a.name = b.name
      and a.kecheng = b.kecheng80
    看我自己写的对吗?
      

  2.   

    select distinct name from t 
    minus
    select distinct name from t where socre <=80
      

  3.   

    select name
    from tb
    group by name
    having min(chengji)>=80