软件测试数据库面试题(一) 查询每门课大于80分的学生名称
表:TestScores 数据如下:

要求:查询每门课大于80分的学生名称
思路1:
      -- 如果该同学的最小课程大于80分,那么该同学就是我们要找的。
      -- 需使用group by分组,group by需要与having连用,而不能与where连用。
语句:
SELECT Name FROM testscores GROUP BY `Name` HAVING MIN(Score)>80
运行结果
       
思路2:
如果有一门课成绩小于或等于80,那么该学生就会被排除在外
        -- NOT IN ----排除
        -- DISTINCT 去重
语句:
SELECT DISTINCT `Name` FROM testscores WHERE `Name` NOT IN (SELECT `Name` FROM testscores WHERE score<=80);
查询结果:


 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号