数据库day06

数值计算 + - * / %

对查询的某个字段的数据可以之间进行计算

1、查询每个员工的姓名,工资和年终奖(年终奖 =工资*5)

2、给1号部门的员工涨薪5快

select ename,sal,sal*5 from emp;
update emp set sal=sal+5 where deptno=1;

别名:

给查询的字段起个名字

select  ename as '名字' from emp;
​
select  ename  '名字' from emp;
​
select  ename  名字,sal 工资 from emp;
​
​

聚合函数

聚合函数就是对查询的多条数据进行统计查询

统计方式:1.平均值 2.最小值 3.最小值 4.求和 5.计数

1.平均值 avg(字段名)

查询2号部门的平均工资

select avg(sal) from emp where deptno = 2;

2.最小值 min(字段)

查询没有领导的员工中最低工资

select min(sal) from emp where mgr is null;

3.最大值 max(字段)

查询1号部门的最高工资

select max(sal) from emp where deptno =1

4.求和 sum(字段名)

查询2号部门的工资总和

select sum(sal) from emp where deptno =2;

5.计数 count(*)

查询工资大于2000快的员工人数

select count(*) from emp where sal>2000;

分组查询 group by

分组查询可以将某个字段相同的数值划分为一组,以组为单位进行统计查询(聚合函数)

1、查询每个部门的平均工资

select deptno,avg(sal) from emp group by deptno;

2、查询每种工作的人数

select job,count(*) from emp group by job;

3、查询每个部门的最高工资

select deptno,max(sal) from emp group by deptno;

4、查询每个部门的人数

select deptno,count(*) from emp group by deptno;

5、查询1号部门每种工作的人数

select job ,count(*) from emp where deptno=1 group by job;

练习:

1.查询没有上级领导的员工编号 empno,姓名,工资
select empno,ename,sal from emp where mgr is null;
2.查询奖金的员工姓名和奖金
select ename,comm from emp where comm is not null;
3.查询名字中包含精的员工姓名和工资
select ename,sal from emp where ename like'%精%';
4.
select *from emp where ename like'_八%';
5.
select*from emp where sal>2000 and deptno=1;
6.
select*from emp where sal<1500 or deptno=2;
7.
select*from emp where sal in(1500,3000,5000) order by sal asc;
8.
select sal,sum(sal) from emp where daptno=3;
9.
select sal,count(*) from emp where sal>1000 order by count asc
10.
select ename ,count(*) from emp where mgr is not null group by ename;
11.11.查询所有员工信息,按照部门编号升序排序,如果部门编号一致则工资降序
select* from emp order by deptno,sal desc;
​
12.查询有领导的员工,每个部门的编号和最高工资
select ename,deptno,max(sal) from emp where mgr is not null group by deptno;
​
13.查询有领导的员工,按照工资升序排序,第3页的2条数据
select ename,sal from emp where mgr is not null order by sal asc  limit 2,2;
​
14.查询员工表中工资高于2000的员工姓名和工资,按照工资升序排序,查询第二页的2条数据
select ename,sal from emp where sal>2000 order by sal asc limit 1,2;
​
15.查询和销售工作相关的工资资本总和
select sum(sal) from emp where job='销售';
​
16.查询程序员人数
select count(*) from emp where job='程序员';
​
17.查询1号部门中有领导的员工中的最高工资
select ename,max(sal) from emp where mgr is not null and deptno=1;
​
18.查询2号部门的最高工资和最低工资 起别名
select min(sal) as '最低工资',max(sal) as '最高工资' from emp where deptno=2;
​
19.查询1号部门里面名字包含空字的员工姓名
select ename from emp where deptno=1 and ename like '%空%';
​
20.查询每个部门工资低于2000的人数
select deptno,count(*) from emp where sal<2000 group by deptno;
​

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值