sql 查询上个月的数据_数据分析-SQL 进阶篇 多表查询

知识点

一、表的加法

Union:删除表中的重复值

union al:包含表中所有内容,包括重复值

5a4b7df90fc52f222973523cab8c1016.png

9be4030194bc12531137cd9f7d23a0cc.png

二、表的联结

联结:join

联结分为以下五种:

交叉联结(cross join)又称为笛卡尔积:将表中的每一行与另外表中的每一行联结在一起,结果的行数为两表行数的乘积。典型例子:扑克牌,实际业务应用较少,原因:a结果行数太多,需要花费大量运算成本和设备支持;b没有实际价值;交叉联结是其他联结的基础。

0bd7ddf89c04e9ebd5a56938053fb5e4.png

内联结(inner join):查找出同时存在于两组中的数据

bd00601210a59dd3f40d89ad6f37708d.png

bf3c26481c11137c937beb2c1a76c24e.png

748bfe4f5630e311e9608b087c05b9a7.png

dd335588306d8b214cdb379f7d8c29ad.png

左联结(left join):将左侧表中的数据取出来,将左侧表为主表,将左侧表中的数据全部取出来,右边的表中只选出和左边相同的学号的行。

901070a6ff7027df66aaf0ad27fe86be.png

0781c08a9ed3a4ba109e9f4c3773f618.png

7ad6a79e6ab337f7c8145051e035372d.png

3f8a4fcca8888ed18e05efba5aab123a.png

15af51526c39ec26be0b7187bfb95a1b.png

右联结(right join):会将右侧表中的数据全部取出来

35e35b3ac272ae9860795b070c76f1c7.png

a1b85b52b8b433b5be4d8bf8d914ba19.png

3f80ccee71ea06a822439e70cd5769bc.png

0886d687e32e3ab723282e9b344a8f0b.png

修改:left join 改为right join

全联结(full join):在SQL中无法应用

a51fff8f2e5ed7c9b3571fc86ce2d550.png

三、联结应用案例

1、 查询所有学生的学号、姓名、选课数、总成绩

dae28ef7b6f678b5ff3f95ba462d1d82.png

843e0adcf1e36a1424bf6be27a2ac919.png

b389b17e525127721546f69b783a82aa.png

2、 查询平均成绩大于85的所有学生的学号、姓名和平均成绩

0dc905407d2fe899b30b2cd54a4d7600.png

3ccfbcbc5742f2601576306ca9402049.png

6a0f2c86ec13cdac2b0063b6ed8d326d.png

712f7133f7013eb7b4a28163df7bd30f.png

3、 查询学生的选课情况:学号、姓名、课程号、课程名称

60d56c6859f4162ccd63c30bedbd022e.png

83eff1e67e04e0dd256ee8e87ca5b552.png

四、case表达式

作用:帮助解决复杂的查询问题,相当于进行一个条件判断的函数,用来判断每一行是否满足某个条件。

在何种情况下使用:多种情况需要判断时可以使用case表达式

注意:

1、 else子句可以省略不写,默认为空值,建议不省略;

2、 end 子句不可省略;

3、 case表达式看写在SQL任意子句中。

cf6f26b3ef3d8bfdf0b37a69de2f0190.png

e41b9ff9c6f9f39f7aae64adc9eb26eb.png

ad250300c7dedd11ee376e11208c8c6e.png

f935e58180a15deea96d542b6094af6e.png

f353d8f30c33756f10bec8241d2c0a24.png

07ea5bbdeadd1f076548499402c17fba.png

d0fc1ceeb3767989403320ef0442046c.png

练习题

1、 查询所有学生的学号、姓名、选课数、总成绩

62bedca45e64bf746db63daf22b686c5.png

2、 查询平均成绩大于85的所有学生的学号、姓名和平均成绩

dd1d1cff6c77a86a387ef42bd1807700.png

3、 查询学生的选课情况:学号、姓名、课程号、课程名称

e9b6ffabdc415cc4969eb2538ef0026a.png

4、 查询出每门课程的及格人数和不及格人数

e48dad11f81ade66ad268cb72f983422.png

5、 使用分段【100-85】,【85-70】,【70-60】,【<60】来统计各科出成绩,分别统计各分段人数:课程ID和课程名称

7257d37e9bb90f938f91b09ef788c4bf.png

6、SQLzoo练习

773b0a3dd966e72dc54beb8a63bc8cf8.png

0c350398ee823e6447239dd246d2fe4d.png

d58c01cc446982eb5e8e5f474b510e01.png

4a9fc8e20344a7b6ac1683aa3321449b.png

18ac926ea6bb7d7b87f80111dc0c8f49.png

575ad41b08c766524d8b6109edd2c63c.png

5ccbc2de93ac997cfa9ba523af86a7b6.png

988d9bbaa1490bf590d53e27ce96e548.png

f7964f4c2207a6df4e9ad83d0c33ac18.png

9e72906eba6cc9219af0b6667e165129.png

90df9b9b801f2e7b086514fb25074429.png

3d7558d0c558a6e2aae29f70937fa8b9.png

41a3bbc74f6f89642566bc6a74774044.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/537321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jenkins部署三种构建方式的详细步骤

部署背景&#xff1a;jenkins&#xff1a; CentOS 7.4C IP&#xff1a;172.16.3.74gitlab-11.5.3&#xff1a; CentOS 7.4D IP&#xff1a;172.16.4.74此上部署都是根据我之前的博客配置完成的&#xff1b;jenkins有三种构建方…

从业回忆,一次大胆的冒险,程序员转岗项目经理

有些事不必知道得太早 程序员这个行业,被“中年危机”言论导向后,就和洗脚城女技师差不多,年轻,漂亮,技术好,体力好的技师收入高,一边拿着高薪,赚着外快,一边吐槽是青春饭,经常熬夜,干不长久。 2010年之前,网上宣传程序员是青春饭,程序员中年危机的文章很少。近几…

python中控脚本_Python3.7实现中控考勤机自动连接

由于考勤机与oa对接&#xff0c;oa会在每天定时取考勤机数据&#xff0c;但是需要考勤机是连接状态&#xff0c;所以搜索了下相关教程&#xff0c;写了个脚本自动连接。完全是个python小白&#xff0c;代码烂&#xff0c;仅作为笔记。理论上支持所有程序的每天自动开启与关闭# …

word转freemarker和修改的步骤

第一步 编写好word&#xff0c;用freemarker语法替换内容 第二步 word另存为 word xml 第三步 修改后缀名为&#xff1a;.ftl 第四步 notepad XML插件美化显示&#xff0c;插件安装教程&#xff1a;Notepad 7.6以上版本安装XML Tools插件_lingquan0809的博客-CSDN博客Note…

python编程首选_为什么说学编程首选是python

为什么学编程你可能不会成为一名专业的程序员&#xff0c; 不过学编程的确是有很多的原因的1. 最重要的是你想学&#xff01;不论是因为业余爱好还是作为职业&#xff0c;编程都是十分有意思的&#xff0c; 都会让你收获很多2. 如果你是对计算机感兴趣的&#xff0c; 想更多的了…

程序员的职业规划,程序员的未来趋势

作者2008年入行,至今15个年头,从程序员到管理。当初一起入行的,当初带我的技术大佬,也都转管理了。 回顾 2008年-2015年:程序员,会ASP.NET、Java、JSP Servlet、SSH、SSM、Mysql、Oracle、Sqlserver、DB2、Sql、H5、Javascript、Jquery、Bootstrap、easy-UI、Android、…

vue-cli 使用better-scroll

better-scroll api文档https://ustbhuangyi.github.io/better-scroll/doc/zh-hans/ 一&#xff1a;安装better-scroll 插件 cnpm install better-scroll --save 二&#xff1a;引入 import Bscroll from better-scroll 三&#xff1a;使用 页面结构要符合这样的&#xff0c;不…

逐行粒度的vuex源码分析

vuex源码分析 了解vuex 什么是vuex vuex是一个为vue进行统一状态管理的状态管理器&#xff0c;主要分为state, getters, mutations, actions几个部分&#xff0c;vue组件基于state进行渲染&#xff0c;当state发生变化时触发组件的重新渲染&#xff0c;并利用了vue的响应式原理…

Redis设计与实现之事件

目录 一、事件 1、文件事件 读事件 写事件 2、 时间事件 3、时间事件应用实例:服务器常规操作 4、事件的执行与调度 5、事件是否有重要性级别或优先级&#xff1f;需要立即处理还是可以延迟处理&#xff1f; 6、事件的类型是什么&#xff1f;是针对键的操作&#xff0…

如何用python32位开发词典软件_Python如何实现字典?

I was wondering how python dictionaries work under the hood, particularly the dynamic aspect?When we create a dictionary, what is its initial size?If we update it with a lot of elements, I suppose we need to enlarge the hash table. I suppose we need to r…

信息系统项目管理师:软件测试、调试及其管理

1&#xff0e;4&#xff0e;5软件测试及其管理 1、软件测试方法可分为静态测试和动态测试。 静态测试是指被测试程序不在机器上运行&#xff0c;而采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态测试包括对文档的静态测试和对代码的静态测试。对文档的静态测试…

项目验收材料整合流程

目标&#xff1a;多份word整合成一份项目验收材料 第一步&#xff1a;编写好word&#xff1b;准备好一份验收材料的封面与目录word 第二步&#xff1a;用WPS的word转PDF&#xff0c;批量转成PDF&#xff1b; 第三步&#xff1a;用Adobe Acrobat DC 合并转成的多个PDF成为一个…

python调用接口获取文件_python接口文件使用说明

首先&#xff0c;python接口文件在安装好的darknet目录下的python文件夹&#xff0c;打开就可以看到这里的darknet.py文件就是python接口用编辑器打开查看最后部分代码&#xff1a;使用十分简单&#xff0c;先将网络配置加载进去&#xff0c;然后进行检测就行了。但其实现在还不…

[译]Kube Router Documentation

体系结构 Kube路由器是围绕观察者和控制器的概念而建立的。 观察者使用Kubernetes监视API来获取与创建&#xff0c;更新和删除Kubernetes对象有关的事件的通知。 每个观察者获取与特定API对象相关的通知。 在从API服务器接收事件时&#xff0c;观察者广播事件。 控制器注册以获…

windows11 22H2资源管理器开启多标签页

效果 步骤 windows11 22H2后续可能会推送该功能&#xff0c;现在是隐藏的&#xff0c;需要借助工具把这个隐藏功能开启 工具&#xff1a;vivetool 下载&#xff1a;Releases thebookisclosed/ViVe GitHub 步骤1&#xff1a;右键开始菜单&#xff0c;选择“终端&#xff08;…

python像素处理_Python 处理图片像素点的实例

###在做爬虫的时候有时需要识别验证码,但是验证码一般都有干扰物,这时需要对验证码进行预处理,效果如下:from PIL import Imageimport itertoolsimg Image.open(C:/img.jpg).convert(L) #打开图片,convert图像类型有L,RGBA# 转化为黑白图def blackWrite(img):blackXY []# 遍历…

Mysql更改表名大小写不敏感

编辑配置文件 vi /etc/my.cnf 在[mysqld]后添加添加 lower_case_table_names1 重启服务 service mysqld stop service mysqld start 部署会遇到的问题&#xff1a; MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的&#xff1a;   1、数据库名与表名是严格区分大…

遇到“我觉得行才算行”的业主怎么办?

目录 案例 分析 案例 项目初期UI设计需求不确定,我们设计了几稿,业主还是不满意,没有确定最终稿。后来呢,业主安排了一位内部的美工A过来。美工A给出了很多修改意见,我们根据美工A的意见进行了修改,又反反复复改了好几版,最后业主不算满意地确定了。 后来项目要收尾…

python读取多个文件夹下所有txt_Python实现合并同一个文件夹下所有txt文件的方法示例...

本文实例讲述了Python实现合并同一个文件夹下所有txt文件的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;一、需求分析合并一个文件夹下所有txt文件二、合并效果三、python实现代码# -*- coding:utf-8*-import sysreload(sys)sys.setdefaultencoding(utf-8)impo…

项目是临时的,那项目组成员也是临时的吗?

在PMBOK定义项目属性&#xff0c;“临时性”是项目的三大属性之一。 在“结束项目或阶段”过程里的活动&#xff0c;重新分配人员&#xff1a;释放团队资源&#xff0c;在一些合同里面&#xff0c;项目结束后&#xff0c;需要给客户提供培训和一段时间的维护保修&#xff0c;那…