select name from student
where fenshu >80

解决方案 »

  1.   


    create table #tt (name varchar(10),kechen varchar(10),fenshu int)insert into #tt values('张三','语文',82)
    insert into #tt values('张三','英语',81)
    insert into #tt values('张三','数学',87)
    insert into #tt values('李四','英语',65)
    insert into #tt values('李四','数学',90)
    select distinct name from #tt a where (select count(1) from #tt where name=a.name)=(select count(1) from #tt where name=a.name and fenshu>=80)
    name
    ----------
    张三(1 行受影响)
      

  2.   


    select *
      from students
     where fenshu > 80
       and name not in (select name from students where fenshu < 80);
      

  3.   


    create table students

       name varchar(10),
       kechen  varchar(10),
       fenshu int
    )insert students select '张三','语文',82 
    insert students select '李四','英语',65 
    insert students select '张三','数学',87 
    insert students select '李四','数学',90 
    insert students select '张三','英语',81select * 
    from students A
    where name not in  (select name from students where fenshu<80)
      

  4.   

    count(1)是什么意思?
    那如果学生有一百多个那不是要写一条inset into
      

  5.   


    --or
    select * 
    from students A
    where not exists (select 1 from students where A.name=name and fenshu<80)
      

  6.   

    A.name=name有什么区别呀,有都是同一张表吗
      

  7.   


    select * 
    from #students A
    where name not in  (select name from #students where fenshu<80)
    select name,sum(case when kechen=N'语文' then fenshu else null end) '语文',
                sum(case when kechen=N'数学' then fenshu else null end) '数学',
        sum(case when kechen=N'英语' then fenshu else null end) '英语'
    from #students
    group by name
      

  8.   

    谢谢
    最后问下
    select * 
    from #students A
    where name not in  (select name from #students where fenshu<80)
    什么意思呀,不懂#students和A不都是同一张表吗
      

  9.   

    select   *   
    from   #students
    where   name   not   in     (select   name   from   #students   where   fenshu <80) 这样就可以,A是#students的别名
      

  10.   

    别名是为了引用的时候方便,比如有2个表都有ID这个字段,
    给这几个别分别设别名a,b,就可以用a.ID,b.ID,
    而不用写表名,就是用a,b代替表名
      

  11.   

    那楼的那位用A.name=name 这个什么意思吗,A.name和name有区别吗 
      

  12.   

    select * 
    from students A
    where not exists (select 1 from students where A.name=name and fenshu<80)select * 
    from students A
    where not exists (select 1 from students B 
                      where A.name=B.name and B.fenshu<80)
      

  13.   

    LZ不懂就用
    select *       
    from  #students 
    where name not in(select name from #students where fenshu<80) 
      

  14.   


    超簡單語句
    select name from students 
    where fenshu>80
    group by name
    having count(kechen)=3
    說明,如只有三門課程,上面就是3,如有四門課,就寫成aving count(kechen)=4,依此類推
      

  15.   

    SELECT * 
    FROM aa a
    WHERE NOT EXISTS (SELECT 1 FROM aa WHERE a.name=NAME AND COUNT<80)