mysql建表语句及完整案例_⼀⼩时快速⼊门SQL查询语句⼯作中给不少没有SQL基础的同事培训过SQL语句。基本上有EXCEL透视表的使⽤经验,经过⼀个⼩时之内的讲解,就可以⼊门啦。
下⾯就快速开始吧。
1、SQL查询基础,⼀句话-(select from where group by order by)
alpha测试与beta测试1、SQL查询基础
android手机游戏以下是分句解释和执⾏步骤:
select 步骤4-对前三步处理过的数据进⾏选择或者聚合计算。具体可以看后⾯案例
from 步骤1-锁定数据所在的表,类⽐excel的sheet
where 步骤2-对表中的数据进⾏筛选,相当于excel的筛选功能
group by 步骤3-对筛选后的数据进⾏分组,相当于透视表⾥的⾏标签
order by 步骤5-对步骤4获得的数据进⾏排序,相当于excel的排序功能
2、案例:六⽉销售卖⽠明细表
excel原始数据如下,每⾏代表⼀条销售记录。
将数据通过Navicat导⼊mysql本地数据库⾥,长下⾯这样。
可以在导⼊的时候建表,这样不需要写语句。
也可以先建好表再导⼊数据。建表语句如下:
CREATE TABLE `sales` (
`name` varchar(50) DEFAULT NULL,
`datetime` datetime DEFAULT NULL,
`product` varchar(50) DEFAULT NULL,
`count` int(11) DEFAULT NULL,
`amount` decimal(11,2) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
分析⼀:选出 李四 在 6⽉2⽇ 的销售记录
SQL语句和结果,以及和excel对⽐如下图
以下是sql代码和注释:
SELECT * -- * 表⽰把所有列都选出来
FROM `sales`
where name='李四' -- 筛选姓名
and date(datetime)='2020-06-02' -- 筛选⽇期,因为原始数据中有 时分秒,所以⽤date()换⼀下格式分析⼆:计算每位销售⼈员在6⽉的总销量和总销售额
SQL语句和结果,以及和excel对⽐如下图。已经标注出执⾏步骤。
以下是sql代码和注释:
select name, -- 相当于透视表⾥的⾏标签this is me mv
sum(count) as '总销量', -- 相当于透视表的求和项
sum(amount) as '总销售额' -- 相当于透视表的求和项
from `sales`
group by name -- 按照name分组,相当于透视表⾥的⾏标签
order by sum(amount) desc -- 排序,按照总销售额排序,desc表⽰从⼤到⼩
分析三:-- 计算每个产品在6⽉的总销量和总销售额
mysql语句多表查询⽅法同分析⼆,强化⼀下。
分析四:-计算出6⽉每天各产品的销售额
SQL语句和结果,以及和excel对⽐如下图。已经标注出执⾏步骤。
这⾥多了⼀个case when的判断。语c入门手册
以下是sql代码和注释:
select date(datetime) as '⽇期', -- 相当于透视表⾥的⾏标签。因为原始数据中有 时分秒,所以⽤date()换⼀下格式
sum(case when product='西⽠' then amount else 0 end) as '西⽠销售额', -- 相当于透视表的求和项,只求和西⽠的销售额
sum(case when product='哈密⽠' then amount else 0 end) as '哈密⽠销售额' -- 相当于透视表的求和项,只求和哈密⽠的销售额from `sales`
group by date(datetime) -- 按照⽇期分组,相当于透视表⾥的⾏标签order by date(datetime) -- 按照⽇期排序
⼩结:经过上⾯的操作,可以简洁掌握sql的基础数据操作。
python一级⼀些稍微复杂的逻辑可以借助百度和⾃⼰的理解进⾏拓展。
供学习交流。欢迎提问指正。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论