(以下仅记录自己听秦路大佬七周成为数据分析师网课时做的笔记)
首先是sql的安装
官网下载:https://dev.mysql.com/downloads/windows/installer/5.7.html
虽然也没看出来24M和504M的差别,但是肯定是选择安装504M的那个啦哈哈,然后一路安装
但是不知道大家安装的情况是什么样,反正我安装完是不带workbench的,所以安装完还需要额外的安装工作台。
安装完之后在开始菜单找到
打开,点击add,然后把工作台安装就行了。
下面进入Mysql的学习,由于之前已经看过书刷过题,所以前面几个视频快速看过
SQL函数:
left(salary,1)表示的意思是salary这个字符串到左边第一个字符,如8k-15k,就是8
locate(‘-‘,salary)表示的意思是salary这个字符串中-所在位置,如8k-15k,就是3
left(salary,locate(‘k‘,salary)-1),这个left函数嵌套这Locte函数,意思就是在salary这个字符串中,在k所在位置再-1个字符,如8k-15k,就是8,这就是工资的上限
length(salary)表示的意思是salary这个字符串的长度,如8k-15k,就是6
而
substr(salary,locate(‘-‘,salary)+1,length(salary)-locate(‘-‘,salary)-1),这个函数表示什么意思呢?
substr():作用是用来截取数据库某个字段中的一部分,如substr(‘123456‘,3,2); 结果是--34
首先分解一下,分成红色、绿色和蓝色两部分。
红色salary,指的是函数截取salary这个字段的一部分
绿色locate(‘-‘,salary)+1,指的是salary这个字符串中-所在位置然后再加1,如8k-15k,就是3+1=4
蓝色length(salary)-locate(‘-‘,salary)-1,指的是salary的长度减去salary字符串-所在位置再减1,如8k-15k,即6-3-1=2,
简化一下,如salary是8k-15k的话,substr(salary,locate(‘-‘,salary)+1,length(salary)-locate(‘-‘,salary)-1)就相当于substr(salary,4,2)即15。
关于工资的下限,除了图中用的substr函数外,还有一个方法,就是:
left(right(salary,length(salary)-locate(‘-‘,salary)),length(salary)-locate(‘-‘,salary)-1),
看起来有点复杂,我们尝试分解一下。
首先是红色字体,right(salary,length(salary)-locate(‘-‘,salary))意思指的是,salary这个字符串中,从右往左数,第length(salary)-locate(‘-‘,salary)的位置,
而length(salary)-locate(‘-‘,salary)表示的是,salary的长度减去字符串-所在位置,如8k-15k,就是6-3得3,
套上right,意思就是salary这个字符串,从右往左数,如8k-15k,就是15k
其次是绿色字体,length(salary)-locate(‘-‘,salary)-1)意思指的是length的长度减去salary字符串中-的位置,再减1,如8k-15k,就是6-3-1等于2
故,再次套上left,如8k-15k,左边红色得出结果为15K,右边绿色得出结果为2,所以最终结果为15,即工资下限。
SQL的子查询: