用一条SQL语句 查询出每门课都大于80分的学生姓名  
name   kecheng   fenshu 
张三     语文       81
张三     数学       75
李四     语文       76
李四     数学       90
王五     语文       81
王五     数学       100
王五     英语       90

解决方案 »

  1.   

    SELECT * FROM TABLENAME
    WHERE NAME NOT IN
    (
    SELECT NAME FROM TABLENAME WHERE fenshu <80
    )
      

  2.   

    declare @s table([name] varchar(20), kecheng varchar(20), fenshu int)
    insert into @s([name], kecheng, fenshu) 
    select '张三','语文', 81
    union all select '张三','数学',75
    union all select '李四','语文', 76
    union all select '李四','数学', 90
    union all select '王五','语文', 81
    union all select '王五','数学', 100
    union all select '王五','英语', 90
     
     select k.[name] 
     from (
    select   [name],min(fenshu) as fs
    from @s
    group by [name]
    ) k
    where k.fs >=80