京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

mysql之DML的select分组排序方式

2024-11-2 22:41| 发布者: db4d5a85| 查看: 114| 评论: 0

摘要: 目次一、创建表employee和department表二、分组查询和排序查询,以及对数据的处理处罚(avg,sum,count,max,min)三、select查询之limit限制总结一、创建表employee和department表 1.创建department表 [code]create t
目次

一、创建表employee和department表

1.创建department表

[code]create table department( -> depart_id int primary key auto_increment comment '部门编号', -> depart_name varchar(50) not null comment '部门名称' -> ) auto_increment=1001;[/code]

2.创建employee表

[code]create table employee( n for the right syntax to use near 'redsodsnvjnv' at line 1 -> emp_num int primary key auto_increment comment '员工编号', -> emp_name varchar(30) not null comment '员工姓名', -> emp_job varchar(30) not null comment '员工岗位', -> hire_data datetime not null comment '入职时间', -> salary int not null comment '薪资', -> bonus int not null comment '奖金', -> dept_id int comment '部门编号' -> );[/code]

3.给employee表格和department表格建立外键

[code]alter table employee add constraint emp_dept_fk foreign key(dept_id) references department(depart_id);[/code]

4.给department插入数据

[code]insert into department values(null,'科技部门'),(null,'法律部门'),(null,'后勤部门'),(null,'财务部门');[/code]

5.给employee表插入数据

[code]insert into employee values((null,'张三','工程师','2023.9.1',12000,1000,1001),(null,'张四','工程师','2023.9.1',11000,1010,1001),(null,'李三','会计','2023.9.1',5000,300,1004),(null,'张六','保安','2023.9.1',5000,500,1003),(null,'刘律','律师','2023.9.1',1000,1,1002);[/code]

6.删除名字为谁人的数据

[code]delete from employee where emp_name='谁人';[/code]

二、分组查询和排序查询,以及对数据的处理处罚(avg,sum,count,max,min)

1.根据dept_id举行分组并查询他们的平均工资

[code]select dept_id,avg(salary) from employee group by dept_id;[/code]

2.根据dept_id分组查询他们年薪平均值

[code]select dept_id, avg((salary+bonus)*12) from employee group by dept_id;[/code]

3.根据dept_id分组查询他们薪资的最高值

[code]select dept_id,max(salary) from employee group by dept_id;[/code]

4.根据dept_id分组查询他们薪资的最低值

[code]select dept_id,min(salary) from employee group by dept_id;[/code]

5.根据dept_id分组查询他们薪资的总和

[code]select dept_id,sum(salary) from employee group by dept_id;[/code]

6.根据dept_id分组查询人数的总和

[code]select dept_id,count(*) from employee group by dept_id;[/code]

7.根据dept_id分组查询人数的总和

[code]select dept_ip,count(emp_name) from employee group by dept_id;[/code]

8.按照dept_id降序的方式查询emp_name和dept_id

[code]select emp_name,dept_id from employee order by dept_id;[/code]

9.按照dept_id和emp_job分组查询薪资总和

[code]select dept_id,emp_job,sum(salary) from employee group by dept_id, emp_job;[/code]

10.在dept_id组中限制只查询工资总和大于10000的薪资,并显现出来工作和薪资

[code]select dept_id,emp_job,sum(salary) from employee group by dept_id,emp_job having sum(salary>1000);[/code]

三、select查询之limit限制

1.查询前三行数据

[code]select * from employee limit 0,3;[/code]

2.查询第三条到第七条数据

[code]select * from employee limit 2,7;[/code]

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。


来源:https://www.jb51.net/database/327433d43.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-7-1 21:43 , Processed in 0.040068 second(s), 19 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部