SQL语句,数据库,求解决。

表students

img


运行这段sql结果如下

img


运行这段SQL结果如下,这才是正确的,

img


疑问为什么要用sum函数才可以,求解答。

写法有问题。
比如,name=张三,有三条数据。但你这写法,只是对第一条数据分析,第一条数据是语文,那你判断数学的时候,它找不到,就只能显示0了。同理,王二,第一条数据是数学,那它找不到语文,就返回0。
用sum,就会对三条数据分析。比如张三的数学,第一条数据找不到数学,返回0,第二条数据是数学,加上,第三条数据不是数学,返回0,0+数学+0,刚好就是数学成绩。

因为我你用了group by ,所以你需要用聚合函数如 count sum AVG MAX min都可以,不一定用sum