1、订货主档 查询送货地址在北京市的订单总量和最高运费
select count(送货地址) as 北京市,max(运费) from 订货主档 where 送货地址 like '%北京市%'
2、提取出上海市男性员工的信息并算出年龄和婚姻状况(已婚为0,未婚为-1)并按年龄大小升序排序,并提取出前十 (姓名,年龄,性别,婚姻状况,家庭住址)
select 姓名,家庭住址,year(now())-year(出生日期) as 年龄,
case
性别
when -1 then '女'
when 0 then '男' else '不详'
end 性别,
case
婚姻状况
when -1 then '未婚'
when 0 then '已婚' else '不详'
end 婚姻状况
from 员工 where 性别=0 and 家庭住址 like '%上海市%' order by 年龄 desc limit 10
3、学生表 统计那个专业没有男生
SELECT `订单号码`,`送货方式`,`运费`FROM `订货主档` WHERE `运费`>(SELECT min(`运费`) FROM `订货主档` WHERE`送货方式`=1)AND `运费`<(SELECT AVG(`运费`) FROM `订货主档` WHERE`送货方式`=2)
4、员工表 统计本公司信息部的基本信息(人数,月工资发放总额,员工平均工资,月最高工资,月最低工资)
SELECT COUNT(`姓名`)AS 人数,SUM(`目前薪资`)AS 月工资发放总额,ROUND(AVG(`目前薪资`),3)AS 员工平均工资,MAX(`目前薪资`)AS月工资最高,MIN(`目前薪资`)AS月工资最低 FROM `员工` WHERE `部门`='信息部'
-- 研发部 7
ALTER TABLE `员工` MODIFY COLUMN `目前薪资`INT(20)
SELECT `部门` ,COUNT(`姓名`)AS 人数
,SUM(`目前薪资`)AS 月工资发放总额,
ROUND(AVG(`目前薪资`),3) 员工平均工资,
MAX(`目前薪资`)月工资最高,
MIN(`目前薪资`)月工资最低 FROM `员工` GROUP BY `部门` HAVING 月工资最高>6600 ORDER BY 月工资最高 LIMIT 3
5、员工表 统计出信息部中男员工的人数
select 部门,count(*) as 人数,
case
性别
when -1 then '女'
when 0 then '男' else '不详'
end 性别
from 员工 where 部门='信息部' and 性别=0
6、员工表 查询比信息部最高工资还要高的其他部门员工的工资情况
select 姓名,部门,max(目前薪资) as 最高工资
from 员工 where not 部门='信息部'
7、员工表 统计各个部门的基本信息(人数,月工资支出,平均工资,月最高工资,月最低工资)并且要求过滤出最高工资小于6600人的部门,同时按最高工资由低到高进行部门排序,显示前三位
ALTER TABLE `员工` MODIFY COLUMN `目前薪资`INT(20)
SELECT `部门` ,COUNT(`姓名`)AS 人数
,SUM(`目前薪资`)AS 月工资发放总额,
ROUND(AVG(`目前薪资`),3) 员工平均工资,
MAX(`目前薪资`)月工资最高,
MIN(`目前薪资`)月工资最低 FROM `员工` GROUP BY `部门` HAVING 月工资最高>6600 ORDER BY 月工资最高 LIMIT 3
8、查询出课程2中选修课可获得的最高学分是多少,和必修课可获得学分的平均学分
SELECT 课程分类,SUM(学分)AS 总学分,AVG(学分)AS 平均学分 FROM 课程2 GROUP BY 课程分类
9、员工表 提取员工表内出生日期在1977年居住在北京的女员工资料,并按司龄降序排列(姓名,出生日期,司龄,家庭住址,性别,婚姻状况)
select 姓名,出生日期, year(NOW())-1997>=0 as 司龄,家庭住址,
case
性别
when -1 then '女'
when 0 then '男' else '不详'
end 性别,
case
婚姻状况
when -1 then '未婚'
when 0 then '已婚' else '不详'
end 婚姻状况 from 员工
where 性别=-1 and 家庭住址 like '%北京%' order by 司龄 desc
10、关注大龄单身汉,公司发放福利,请把员工表下各部门家住北京工龄20年以上年龄40岁以上工资3000元以上的未婚男性按工龄
每1岁分组并按工资降序排列(工龄26岁以下为第一阶段,工龄26岁为第二阶段,工龄27岁为第三阶段,工龄27岁以上为第四阶段,)。
select 姓名,家庭住址,year(now())-year(出生日期) as 年龄,year(now())-year(雇佣日期) as 工龄,
case
性别
when -1 then '女'
when 0 then '男' else '不详'
end 性别,
case
when year(now())-year(雇佣日期)<26 then '第一阶段'
when year(now())-year(雇佣日期)=26 then '第二阶段'
when year(now())-year(雇佣日期)=27 then '第三阶段'
when year(now())-year(雇佣日期)>27 then '第四阶段' else '不详'
end as 工龄,
case
婚姻状况
when -1 then '未婚'
when 0 then '已婚' else '不详'
end 婚姻状况,目前薪资
from 员工 where 性别=0 and 家庭住址 like '%北京%' and 目前薪资>3000 order by 年龄