软件测试数据库面试题(一) 查询每门课大于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);

      查询结果:

posted @ 2019-12-29 22:57  太阳-向日葵  阅读(382)  评论(0)    收藏  举报