Query all subject information of students whose scores in each subject are greater than 80

From Putrid Iguana, 1 Year ago, written in SQL, viewed 236 times.
URL https://pastebin.vip/view/be2a3a09
  1. TABLE_NAME:score
  2. id  name    object  score
  3. 1   小强  语文  85
  4. 2   小强  数学  73
  5. 7   小强  美术  90
  6. 5   小狗  语文  80
  7. 6   小狗  数学  92
  8. 9   小狗  美术  95
  9. 3   小花  语文  70
  10. 4   小花  数学  79
  11. 8   小花  美术  85
  12.  
  13.  
  14. SELECT * FROM score a WHERE a.score >= 80 AND NOT EXISTS(SELECT 1 FROM score b WHERE b.`name`=a.`name` AND b.object != a.object AND b.score < 80) ORDER BY a.`name`;
  15. 该语句的思路是:查出当前用户的信息,只要不存在:同用户、不同科目、分数小于80
  16.  
  17. SELECT * FROM score a WHERE a.`name` NOT IN (SELECT DISTINCT(b.`name`) FROM score b WHERE b.score < 80)
  18. 该语句的思路是:查询每科成绩都大于80分的学生的所有科目信息,也就是说只要有一科分数小于80分的就不满足条件
  19.  
  20. 相对两个语句来说,第二句思路好理解一点。应该还有其他很多种写法实现这种查询,欢迎指点!
  21.  

Reply to "Query all subject information of students whose scores in each subject are greater than 80"

Here you can reply to the paste above

captcha

https://burned.cc - Burn After Reading Website