我提了这么个问题:
一张表,四个字段:
class, student, grade, cause
班级,学生姓名,分数,科目
我想查出每个班级中一个分数最高的成绩,和它对应的学生姓名、科目(每个班有很多学生、不同科目)有人答曰:
Select A.* From TableName A 
Where Not Exists (Select 1 From TableName Where class=A.class And grade>A.grade)不懂什么意思,所以没法应用到我的实际问题中

解决方案 »

  1.   

    这样写的意思是 对满足条件的每一行 select一个1出来,
    因为据传 select 常数出来要比 *或者是具体的列,速度更快 
    次写法多用于 获得行数 select count(0) from t 或者 像你写的判断是否存在行。
      

  2.   

    只是当符合条件时随便返回一个值而已Exists只会返回0或者1,所以子循环里返回什么都无所谓,只要语句不出错就可以