mysql 练习总结
来源:互联网 发布:怎样撤回淘宝手机充值 编辑:程序博客网 时间:2024/06/05 08:59
(1)创建部门表
dno(部门号),dname(部门名称),dma(部门经理)
create table dept
(dno int primary key,
dname varchar(15),
dma varchar(15));
(2)创建员工表
emo(员工号),ename(员工名字),dno(部门号),eage(员工年龄),sal(员工工资)
create table emp
(eno int primary key,
ename varchar(15),
dno int,
eage datetime ,
sal float not null,
foreign key(dno) references dept(dno) );
(3)创建工资水平表
grade(等级水平),losal(最低水平),hisal(最高水平)
create table salgrade
(grade int not null primary key,
losal float,
hisal float);
1、查询员工表中工资最高的雇员的员工号、员工姓名、工资和部门号
select eno,ename,sal,dnofrom empwhere sal=(select max(sal) from emp);
通过SQL提供的聚合函数求出最大值就行。
2、查询每个员工的员工号,姓名及工资所在水平等级
select e.eno,e.ename, s.gradefrom emp e,salgrade swhere e.sal BETWEEN s.losal and s.hisal;
通过between…. and 来选取员工工资在该区别的员工信息。
3、查询每个员工和其部门经理的名字
select e.ename,d.dma,e.eno
from emp e,dept d
where e.dno=d.dno;
4、查询工资在等级水平的员工和其部门经理的名字
select e.ename,d.dma,s.grade
from emp e,dept d,salgrade s
where e.sal BETWEEN s.losal and s.hisal AND e.dno = d.dno;
5.平均薪水最高的部门编号
select dno,MAX(t.a)
from (SELECT avg(sal) as a,dno
FROM emp
GROUP BY dno) as t;
先求出所有部门的平均薪水,然后将其作为一张新表,然后通过MAX()函数求出最大值。
6.查询每个部门的薪水等级
select s.grade,t.dno
from
(select sum(e.sal) as b,e.dno
from emp e
group by e.dno) as t,salgrade s
where t.b BETWEEN s.losal and s.hisal;
- mysql练习总结
- mysql 练习总结
- mysql学习总结练习
- 总结mysql查询综合练习--个人备忘
- mysql 练习之 Alter 用法总结
- mysql练习之Alter用法总结
- 总结mysql查询综合练习1--个人备忘
- MySQL练习
- Mysql练习
- Mysql 练习
- mysql练习
- mysql练习
- mysql 练习
- MySql--练习
- MYSQL练习
- mysql 练习
- Mysql练习
- MySQL练习
- checkbox取值
- maven打好的jar包如何在运行时指定main-class
- 【Algorithm】 多边形+凸包+面积
- 分类算法(2) ---- 朴素贝叶斯算法(NB)
- HashTable
- mysql 练习总结
- Android Looper 分析1
- IDA Pro "Bogus or irresponsive remote server"解决方案
- 更改SQL SERVER 验证方式 (from windows to SQL SERVER)
- HTTP中的重定向和请求转发的区别
- Linux中如何查看修改系统的时间和时区
- screen 使用笔记
- jqyery easyui $.messager.alert 位置代码
- java入门之final