page contents

SQL查询语句案例:生成统计结果信息表

SQL查询语句案例:生成一个统计结果信息表生成的每个同学的总分信息表:学号、姓名、总分代码演变:

attachments-2021-04-2FLFsZnc60850df7b39aa.png

SQL查询语句案例:生成一个统计结果信息表

生成的每个同学的总分信息表:学号、姓名、总分

代码演变:

SELECT S.stuNo,S.stuName  FROM Results R

INNER JOIN 

Students S

ON(R.stuno=S.stuNo)

WHERE R.score IS NOT NULL OR R.score!=0 

attachments-2021-04-e1MBuSp160850d06a4520.png


添加分组:

SELECT S.stuNo,S.stuName FROM Results R

INNER JOIN 

Students S

ON(R.stuno=S.stuNo)

WHERE R.score IS NOT NULL OR R.score!=0 

GROUP BY S.stuNo,S.stuName

将具有相同的stuNo和stuName数据的记录划分为一组

attachments-2021-04-HgWJoNTe60850d2fa3f5b.png

添加聚合函数:

采用内连接:

SELECT S.stuNo,S.stuName,SUM(R.score) AS TotalScores  FROM Results R

INNER JOIN 

Students S

ON(R.stuno=S.stuNo)

WHERE R.score IS NOT NULL OR R.score!=0 

GROUP BY S.stuNo,S.stuName

ORDER BY TotalScores DESC

attachments-2021-04-ntqorvXy60850d629c7df.png

采用外连接方式:

右外连接:

起别名的两张方式:

1.TotalScores=SUM(R.score)

2.SUM(R.score) AS TotalScores

SELECT S.stuNo,S.stuName,SUM(R.score) AS TotalScores  FROM Results R

LEFT JOIN 

Students S

ON(R.stuno=S.stuNo)

WHERE R.score IS NOT NULL OR R.score!=0 

GROUP BY S.stuNo,S.stuName

ORDER BY TotalScores DESC

注意点:

**内连接:**完全匹配,不会产生NULL(但可能表中的字段本身就是NULL)

使用左/右外连接时,尽量:左外连接,左表是主键表。

右外连接,右表是主键表。

这时候查询出来的从表中的字段可能存在NULL值(没有匹配上,而不是字段本身就是NULL),所以需要判断一下(一般使用主键表的主键列进行判断,也不一定)


相关文章:

SQL建立数据库:创建和使用数据库

SQL语句的21个好习惯,建议收藏

MySQL高级性能优化实战!看这篇就够了

SQL语句性能分析和优化,值得一看的干货!

更多技术资讯,请继续关注六星教育社区-程序员编程技术分享交流学习高端论坛

如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。

attachments-2022-06-Yc7PfIhX62abebf8db604.jpeg

  • 发表于 2021-04-25 14:41
  • 阅读 ( 754 )
  • 分类:数据库

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1320 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章