2019-03-25
-- 建表
-- 新建一张表
create table 表名(🦇)(
....
)
-- 子查询建表 只继承结构和数据 不继(🐱)承约(📊)束
create table emp_copy
as
SELECT * from emp
CREATE table emp_copy1
AS
select empno,ename,sal from emp where deptno = 10
CREATE table emp_copy2
AS
select empno 工号,ename,sal from emp where deptno = 10
-- 建一张(🌜)空(😜)表
create table emp_copy3
AS
SELECT * from emp where 1 = 0
-- 修改工作地点在new york 或chicago 的(🐵)员工工资 工资(📂)增加500
update emp2
set sal = sal 500
where deptno in(SELECT deptno FROM dept where loc in('new york','chicago'))
-- 删(😬)除工作在new york 的员工记录
delete from emp2
where deptno in(SELECT deptno FROM dept where loc in('new york'))
-- 函数(🖇) 函数名((🕋)参数)
-- 虚(🌨)表 DUAL
-- abs 绝对值
select abs(sal)
from emp
-- round(x,y) 将x精确到小数(🔸)点后y位 四舍五入
select round(99.567,2),round(99.567,1),round(99.567,0)
from DUAL
-- truncate(x,y) 截(🧀)断
select truncate(99.567,2),truncate(99.567,1),truncate(99.567,0)
from DUAL
-- 字符串函(🌡)数
-- substr(str,pos位置 从第几个,length)
select SUBSTR('helloworld',1,3)
from dual
-- 查询姓名(⏯)以s开(🍵)头(😙)的员工信息
SELECT ename
from emp
where substr(ename,1,1) = 's'
-- 查询姓名(🍬)以s,j,m开头的员工(🚻)信息
select ename
from emp
where substr(ename,1,1) in ('s','j','m')
-- 显(😣)示(🚷)所有员工姓名的前三个字符
select ename,substr(ename,1,3)
FROM emp
-- 日期函数(🌳)
-- mysql 5.6以后支持日(📕)期作为(🌍)默认值
create table test7(
regtime datetime default now()
)
-- CURDATE()和CURRENT_DATE() :获取当前日期函数;CURRENT_TIME() 获(🆙)取当前时间(🧕)函(🐱)数
-- now :返回服务器的当前日期和时间
select curdate(),current_date(),now()
from dual
-- DATE_FORMAT(date,format):格式化日期;
-- %Y 年份
-- %m((🕛)M) 月份(英文(🏰))
-- %d 日(😁)
-- %h 时
-- %i 分钟
-- %s 秒(🥂)
select DATE_FORMAT(now(),'%Y-%m-%d %h:%i:%m')from dual
-- DATEDIFF(expr1, expr2):返回两个日期相减相(🍲)差的天数;
select hiredate,DATEDIFF(curdate(),hiredate)
from emp
-- EXTRACT(unit  FROM  date):从日期中抽取出某个单独(🌜)的部分或组(🕦)合
select hiredate,
extract(year from hiredate),
extract(month from hiredate),
extract(day from hiredate),
extract(HOUR from now()),
extract(minute from now()),
extract(second from now())
from emp
select *
from emp
where extract(year from hiredate) = '1981'
-- 一般(🧀)函数
-- substr(str,pos,len),
-- substr(str,pos)
-- round,`TRUNCATE`(X,D)
-- 查询部门10,20的员工截止到2000年1月1日,工作了多少个月,入职的(🆓)月份
-- TIMESTAMPDIFF() 按照什么求差 日期1,日期2
select TIMESTAMPDIFF(month,hiredate,now()),
EXTRACT(month from hiredate),
DATE_FORMAT(hiredate,'%m')
from emp
where deptno in (10,20)
-- 流程控制函(😽)数
-- case ..when..then
-- decode
-- 查询员工姓(🐅)名 工资 部门(⛩)编号(🕡) 部门名称
select ename,sal,deptno,(case deptno
when 10 then '开发部'
when 20 then '实施部(🏷)'
when 30 then '测(➗)试部'
else '小卖部' end) dname
from emp
-- 计算2000年1月1日(😼)到现在有多少月,多少周(四舍五入)。
select TIMESTAMPDIFF(month,'2000-1-1',now()),TIMESTAMPDIFF(week,'2000-1-1',now())
from dual
-- 查询员工ENAME的第三个字母是A的员工的信息(使用2个函数)。
SELECT *
from emp
where ename like '__A%'
-- 将员(🛍)工工(🔖)资按如下格式显(🚝)示:123,234.00 RMB 。
select concat(sal,'RMB')
from emp
-- 查询(⛩)员工的姓名及其经理编号,要求对于没有经(🕴)理的显示“No Manager”字符串。
select ename,IFNULL(mgr,'No Manager') mgr
from emp
-- 将员工的参加工作(🏒)日期按如下格式显示:月份/年份。
select DATE_FORMAT(hiredate,'%m/%Y')
from emp
-- 在员工表中查询(🍊)出员工的工资,并计算应(🛩)交(🖇)税(🙉)款:
-- 如果工资小于1000,税(🕎)率(🌗)为0,
-- 如果工资(🈚)大于等于1000并(😻)小于2000,税率(🛂)为10%,
-- 如(🙄)果工(⏳)资大于等(🆗)于(💗)2000并小于3000,税率为15%,
-- 如果工资大于(📞)等于3000,税率为20%。
select sal,(case
when sal < 1000 then 0
when sal >=1000 and sal<2000 then sal*0.1
when sal >=2000 and sal<3000 then sal*0.15
else sal*0.2 end)tax
FROM emp
select sal,(case truncate(sal/1000,0)
when 0 then 0
when 1 then sal*0.1
when 2 then sal*0.15
else sal*0.2 end)tax
FROM emp
-- 问(👂)题
-- 查询(🕳)语句 查询员工姓名(🐝) 部门名称 工作地点
select ename,dname,loc
from emp,dept
-- 涉及的(📜)表示一张以上 两张表就会(⏬)发(🍁)生自动(🖍)连接
-- 连(🔶)接规(🕝)则 :笛卡尔(😵)积 一张(🌄)表的所有(😖)记录与另(🦌)一张表记录全部匹配的情况
select ename,dname,loc
from emp,dept
where emp.deptno = dept.deptno
-- 注意 同名列(🔓)需要加表(🗳)名(🌚)作(😓)为前缀
-- 涉及一张(🐤)以上表 别(👟)落下(🎾)条(🎎)件 否则(🕒)会出现(💦)笛卡尔积
--      表名也(💂)可以(🏋)起别名, 方便写前缀
-- 查询(🤳)所有员工编号 姓(💎)名(🛳) 部门编(➕)号 工作地点
select empno,ename,d.deptno,loc
from emp e,dept d
where e.deptno = d.deptno
-- 查询工作地点在 new york 的员工(🚰)编(📈)号(🍹) 姓名 部门编号 工作地点
select empno,ename,d.deptno,loc
from emp e,dept d
where e.deptno = d.deptno and loc = 'NEW YORK'
-- 1.写一个(💺)查(🚤)询,显示(🆗)所有员工姓名,部(🚩)门编号,部门名称。
select ename,d.deptno,dname
from emp e,dept d
where e.deptno = d.deptno
select ename,d.deptno,dname
from emp e
join dept d
on e.deptno = d.deptno
-- where loc = 'chicago'
-- 2.写一个查询,显示(🐠)所(🌗)有工作在CHICAGO并(😀)且(💮)奖金不(👕)为空的员工姓名,工作(🤵)地点,奖金
select ename,loc,comm
from emp e,dept d
where e.deptno = d.deptno and loc = 'CHICAGO' and comm is not null
-- 3.写一个查询,显(🌲)示所有姓名中含有A字符的员工姓名,工作地点。
select ename,loc
from emp e,dept d
where e.deptno = d.deptno and ename like '%A%'
-- 工资登记表
-- 1 0 600
-- 2 601 1500
-- 3 1501 2500
-- 4 2501 4000
-- 5 4001 10000
create table salgrade(
grade int auto_increment,
losal decimal(7,2) default 0,
hisal decimal(7,2) default 0,
primary key(id)
)
-- 查询员工姓(🦕)名 工资 奖金 工资等级
select ename,sal,comm,grade,losal,hisal
from emp
join salgrade
on sal >= losal and sal<= hisal
select ename,sal,comm,grade,losal,hisal
from emp
join salgrade
on sal between losal and hisal
-- 查询员工姓名 工资 奖金 工资等级 部(🏍)门名称 要求只显示(🛳)工资等级2以上的信息
select ename,sal,comm,grade,dname
from emp e
join dept d
join salgrade
on e.deptno = d.deptno and sal BETWEEN losal and hisal
where grade >2
-- 自连接
-- 查询每个(🆒)员工(⏯)的姓名和直接上级姓(🦁)名
select e.ename,m.ename
from emp e
join emp m
on e.mgr = m.empno
正态分布怎么画图-如何(🈺)在word中画正态分布图
正态(🐱)分布图怎么做?
正态分布这样的比较专业的图通常都是使用专业统计分析软件,比如Minitab,来做。但是,这些软件做出的图的颜值实在不敢恭维。而用Excel制作出来的图表,可以轻松进行图表的相关设置,美化那是相当简单的事情。如图所示效果。下面,波波411就来分(🏦)享制作方法。此方法是直接制作一个画正态分布和(🎴)正态(🐤)曲线的模板(🤟),以后(🆙)只要将新的样本数据替换,就可(😉)以随时做出正态(🐑)分(🔢)布图来(🎭),省时(🥙)省力。
工(🕓)具/原(💗)料
电脑(🍵)
Excel2007版本及以上(🥄)
计(🗼)算均值,标(✴)准差及相关数据
1
假设有这样一组(🉐)样本数(🔹)据(🎭),存(📨)放于A列,首先我们计算出样本(👢)的(🚲)中心值(📕)(均值)和标准(😥)差。
如下图,按图(🥎)写公式(🔔)计(🚙)算。为(⛹)了方便(🏓)对照着写公式,我在显示“计(💳)算结果(💜)”旁边一列列出了使用的公式。
公式直接引用A列计算,这样可以保(🏷)证不管A列(🚳)有(♟)多少数据,全部可以参与计算(🎴)。因为是做模板,所以这样就不会(🖨)因为每次样本数据量(🥞)变化而计算错误。
Excel在2007版本以后标(🍯)准差函数有STDEV.S和STDEV.P。STDEV.S是(👶)样(📚)本(🌚)标准(👑)偏(😌)差,STDEV.P是基于样本的总体标准偏差。如果(🐯)你的Excel里(😚)没有STDEV.S函数,请使用(🎭)STDEV函数。
2
正态分布(😵)直方图需要确(💚)定分(🐝)组数(🐼),组距坐标上下限等。如下图写公式计算。
分组数先使(👐)用25,上下限与(🔢)中心值(🤙)距离(🛩)(多少(⛲)个sigma)先使用(🏀)4。因为使用公式引(🏛)用完成计(🦎)算,所以这两个值是可以任(🌪)意更(🙋)改的。这里暂时先这样放
请点击输入图片描述
3
计算组坐标。“组(⬅)”中(🐴)填(🕶)充1-100的(🍫)序列(🚢)。此处(🌡)列了100个计(🍣)算值。原因(💊)后面再解释。
在G2,G3分别填入1,2。选中G2,G3单元格,将鼠标放在右下角选中(🌚)框(🦁)的小黑方块上(👇)。当鼠标变(🌏)成黑色(🏒)十字时,下拉。直(♎)至数值(👭)增(👕)加(🏼)至100。如下两图
请点击输(👖)入图片描(🧘)述
4
如下图,H2输入公式=D9,H3单元格输(⛄)入公(💀)式=H2 D$7。为了(🧠)使公式中一(🥤)直(🦁)引用D7单(🤗)元格,此处公式中使用了行绝对(📣)引用(🐖)。
请点击输入图片描述
5
选中H3单元格,将鼠标放在右下角(👹)选中框的小黑方块上。当鼠标变成黑色十(🗾)字(🏆)时双(🍅)击,填(🌲)充H列余(📉)下(🥙)单元格。
请点击输入图(🕛)片描(🚦)述
6
计算频数。如(🚥)图所示(🎵),在I2,I3分别填写公式计算频数。同样,选中I3单元格,将鼠标放在右下角选中框的小(🧜)黑(📸)方块上(⏩)。当鼠标变(🛣)成黑色十字时双击,填充(🦈)I列(😪)余下单元(🛎)格。
请点击输入图(🔂)片描述(🎯)
请(⭕)点击输入图片描述
7
计(🧛)算正(🖍)态曲线函数值。如图在J2列输入(👌)公式。同样,选中J2单元(♎)格,将鼠标放在右下(😿)角(🐶)选中框的小黑方(🚷)块上(🚒)。当鼠标变成黑色十(👕)字时双(👪)击,填充J列余下单元格。
请点击输入图片描述
END
建立(⛄)名称,供正态图引用
1
建立名称(🔣)。[公式]选项卡中点击[名称(🤐)管理(🙉)器],打开[名称管理器]对话(🚒)框,点击[新建]打(🥐)开[新建名称]对话框。[名(🤩)称]里输入(🤼)“频数”,[引用位置]里输入公(⛄)式“=OFFSET(正态分布(♏)!$I$1,1,,正态分布!$D$6)”。然后点击[确(🍷)定]。
注意,我的数(💗)据所在sheet的名称是“正(🥧)态分布”。你的可能(🎦)是“Sheet1”,“Sheet2”之类的名称。为了保证公(🍐)式(🏐)一致(🌏),建议(👳)双击工作表名称,然后修改成和我的(🔳)一样的“正态分布”
请点击输入(🎀)图片描述
请点击输入图片描述
请(👛)点击输入图片描述
同样(🙀)建(🗄)立名称“正态曲线”,[引用位置]里输入公式“=OFFSET(正态分(🚃)布!$J$1,1,,正态(🧘)分布!$D$6)”;建立名称“坐标”,[引用位置]里输入(📉)公式“=OFFSET(正态分布!$H$1,1,,正态分(📃)布!$D$6)”
请点(🥦)击输入图片描述(🎶)
END
画正态图
插入柱形(📿)图
请(➗)点击输(🍯)入图片描述
选中刚(🏆)插入的(🎗)空(🤲)白图形,在[图表工具]选项(♓)组中切(🚑)换(🐦)到[设计],点击[选(🌆)择数据],打开[选择数据(💦)源]对(🚎)话(📐)框。
请点击(🍝)输入(🍒)图片描述
点击[添加],打(📵)开[编辑数据系列]对(✳)话框,如图设(🏻)置(🥏)[系列名称]和(🔥)[系列值]来添加(✴)“频数”系(🗾)列。同样如图设(🏌)置添(⛅)加“正态曲线(🚫)系列”
请点击输入图片描述
请点击(🏊)输入图片描述
请点击输入图片描(🥝)述
编辑坐标轴引用(🥍)。[选择(〽)数据源]对(💠)话(🔷)框(🥖)中点击编辑打开[轴标(🥊)签]对话框。如图设置引用。点击[确定]返回[选择数据(🖲)源(♉)]对话框(🥗),点击[确定]。
请点击输入图片描述
请点击输入(🍈)图片描述
确保柱(🍩)形(🤨)图(📼)处于选中状态,点击[图表工具]-[布局]。点击左(🚷)上角[图表区]下(🔫)拉列表,选(🎚)择(🌳)“系列“正态曲线””,然后点击[设置所选内容格(🕹)式],打(🤸)开[设置数据系列格式]对(🎽)话框。选(🚮)择[次坐标轴(🥃)]。
请点击输入图片描述
请点(👞)击(⛳)输入图片描述
请点击(🌝)输(💵)入图片(🦕)描述(❤)
[图表工具]选项组(🙀)切换(🆔)到[设计]选项卡。点击[更改图表类型],打开[更改(🙊)图表类型]对(💅)话框。如图(🆙)选择拆线图(🥫)
请点击输入图片(🔜)描(🐻)述
请点击输入图片描述
柱形(🏍)图中选中(🚙)正态曲线,然后在[图(🐜)表工(😍)具]选项组切换到[布(😴)局]选(🙆)项卡。点击[设置所(🐒)选内容格式],打开[设置数据系(🚽)列格式(🤛)]对话框。切(🐸)换到(🎁)[线型(🌃)],选择(❇)[平滑线]。
请点(⛲)击输入图片描述
请点(🔰)击输入图片描述(🙂)
至此,图形(🔚)已经画完(🧜)。如果只需要柱形(💂)分布(👭)图,不需(🖋)要正态曲线,在(🔰)柱形图中(🚒)选(🐅)中正态曲线(😽),按键盘上的Delete键删(😉)除就行了(🐻)。
有的(🏮)专(💓)业作图软件中,柱形分布图中柱(🤾)子是紧挨在一起的。要这样设置的(📽)话请在柱形(🗡)图中选中柱子,然后(🍦)[图表工(🎛)具]选项组切换到[布局]选(🍓)项卡(🐧)。点击[设置所选内容格式],打开(🤓)[设置数据系列格式]对话框。分类间距设为0%。切换到[边(🌽)框颜(📭)色],然后(🌕)选择[实线(🥜)],颜(🍒)色随便选一个,只(🈳)要和柱子不是一个颜色就可以(👡)了。这里选择了黑色(🥗)。
请点击输入图片描述
请点击输(💹)入图片描(👤)述
请点击输入(🛑)图片描述
最后(🍫),试着修改下“组”和上下限与中心值距(🗽)离的值,图表会自动更新(🤼)。在第3步中,我们计算(🕶)了100组的值(😪),所(👳)以,只要此处(🍁)的组不(🙂)超过100,均可(🍌)得到正确的图表。一般分组到100的情况极少(🤠),所以,第3步(🍳)预(👹)留了100组的数据,以(📶)便在更改组时,总能(🕧)等到(👋)正确的图表(🎾)。当(🍷)然,如果你(🃏)原意,计(🐮)算1000组也(🚝)无所谓了(🌁)。反正你已经学(📫)会方法了(😂)。
以后如(😋)果样本数据(🌓)变更了,直接将A列数据换成新的样(🛣)本数据,设(📲)置下需要的分组和上下限与中心(🛡)值距离的值,正(💞)态分布(🏤)图分分钟钟就出来啦。至于(🚐)美化嘛,只要更改相关(🛴)设置就可以了,比如开篇那张,当然,你可(😉)以把图(🆗)表美化的(🈳)更加漂亮,尽情发(🚙)挥想象力(✍)吧。
请点击输入图片描述
如何画正(🌵)态分布曲线正态分布应用最广(🛌)泛的(⏹)连续(💚)型概率分(👼)布。通(💚)常所说的正(🔟)态分布曲线指(💕)的是正态分布的密度函数的(🅰)图像。其特征(🎌)是“钟”形曲线。
正态分(😆)布(📝)曲线一(🤭)种概率分布(👶)。正态(👪)分布是(🔒)具有两(🌒)个参数μ和σ(🥝)^2的(📂)连续型随机(📒)变量的(😹)分布,第一参数μ是遵(🔩)从正态分布的(🌺)随机变(🕍)量的均值,第二(👎)个参数(🧑)σ2是此随(🐑)机变量的方差,所以正态分(🎽)布记作N(μ,σ2)。遵从正态分布的随机变量的概率规律为取μ邻近的值的概率(🧐)大,而取离μ越远的值的(👺)概率越小;σ越小,分布越集中在(📲)μ附近,σ越大,分布越分散。
正态分布(🚗)的密度函数(🚍)的特点是:
关于直线x=μ对称,在(😫)μ处达到最大值,在正(负)无穷远处取(😢)值为(🌺)0,在(💓)μ(📷)±σ处有(🏸)拐点(🍱);
它的形状(🕉)是中间高两边低,图像是一条位于x轴上方的钟形曲线(⚡);
曲线与(🔨)x轴围成的面积为1;
当μ=0,σ^2=1时(🔙),称为标准(👧)正态分布,记为N(0,1)。
正(🍰)态分布曲线画法:
1、可通(❣)过计算机中Excel、matlab、几何画板、geogebra等软(🗄)件来实现;
2、通过其特(♟)点,可以动手画出大(🍑)致(👧)图(💋)形;
大致(🍻)图像如(🐴)下:
1、(👝)μ对图像的影(🥌)响:
2、(🙌)σ对图像的影响:
如何在word中画正(🧞)态分布(🍰)图在word中画正态分布图的方(🤡)法如下(以windows10系统的(🧟)word2019版为例):
1、打开文档,点击插(🐴)入。
2、(🐕)在随后(💧)打(💱)开的界面中点击“形状(🈶)”。
3、在随后进入的页面中点击“任意(📙)多(🦒)边形”。
4、(🍪)任意绘制一个类似于正太分布的多(🥚)边形,右键编辑顶点。
5、点击顶点右键(🐿),选择平滑顶点。
6、随后依(🈹)次更(📯)改(💇)顶点的位置。
7、最终直到画出这样的图形(㊗)即可。