美文网首页
查询练习。。。。重点自身连接各种方法

查询练习。。。。重点自身连接各种方法

作者: 多啦A梦_0213 | 来源:发表于2018-11-15 12:27 被阅读0次

--查询,显示所有员工姓名,部门编号,部门名称

select e.ename,d.deptno,d.dname
from emp e,dept d
where e.deptno = d.deptno;

--写一个查询,显示所有工作在CHICAGO并且奖金不会空的员工姓名,工作地点,奖金

select e.ename,d.loc,e.comm
from emp e,dept d
where e.deptno = d.deptno
and d.loc = 'CHICAGO'
and e.comm is not null;

--写一个查询,显示所有姓名中含有A字符的员工姓名,工作地点

select e.ename,d.loc
from emp e,dept d
where e.deptno = d.deptno
and ename like '%A%';

--查询每个员工的编号,姓名,工资,工资等级,所在工作城市,按照工资等级进行升序排序

select e.empno,e.ename,e.sal,s.grade,d.loc
from emp e,dept d,salgrade s
where e.deptno = d.deptno
and e.sal between s.losal and s.hisal
order by sal asc;

--查询所有工作在new york和chicago的员工姓名,员工编号,以及他们的经理姓名,经理编号

select e.empno,e.ename,m.empno,m.ename
from emp e,emp m,dept d
where e.mgr = m.empno
and e.deptno = d.deptno
and d.loc in('NEW YORK','CHICAGO');

--查询员工SMITH的姓名,部门名称,直接上级名称

select e.ename,d.dname,m.ename
from emp e,emp m,dept d
where e.mgr = m.empno
and e.deptno = d.deptno
and e.ename='SMITH';

--查询员工姓名,部门名称,工资,工资级别,要求工资级别大于四级

select e.ename,d.dname,e.sal,s.grade
from emp e,dept d,salgrade s
where e.deptno = d.deptno
and e.sal between s.losal and s.hisal
and s.grade>4;

--显示员工KING和FORD管理的员工姓名及其经理姓名

select e.ename,m.ename
from emp e,emp m
where e.mgr = m.empno
and m.ename in ('KING','FORD');

--显示员工姓名,参加工作时间,经理名,参加工作时间,要求参加工作时间比经理早

select e.ename,e.hiredate,m.ename,m.hiredate
from emp e,emp m
where e.mgr = m.empno
and e.hiredate<m.hiredate;

--查询部门人数大于2的部门编号,部门名称,部门人数

select d.deptno,d.dname,count(e.empno)
from emp e,dept d
where e.deptno = d.deptno
group by d.deptno,d.dname
having count(e.empno)>2;

--查询部门平均工资大于2000,且人数大于2的部门编号,部门名称,部门人数,部门平均工资,并按照部门人数升序排列

select d.deptno,d.dname,count(e.empno),sum(e.sal)/count(e.empno)
from emp e,dept d
where e.deptno = d.deptno
group by d.deptno,d.dname
having count(e.empno)>2
and sum(e.sal)/count(e.empno)>2000
order by count(e.empno) asc;

--查询部门20的员工,每个月的工资总和及平均工资

select sum(sal),avg(sal)
from emp
where deptno = 20

--查询工作在CHICAGO的员工人数,最高工资及最低工资

select max(sal),min(sal)
from emp,dept
where emp.deptno = dept.deptno
and dept.loc = 'CHICAGO';

--查询员工表中一共有几种岗位类型

select count(distinct job) from emp;

--查询每个部门的部门编号,部门名称,部门人数,最高工资,最低工资,工资总和,平均工资

select d.deptno,d.dname,count(e.empno),max(e.sal),min(e.sal),sum(e.sal),avg(e.sal)
from emp e,dept d
where e.deptno = d.deptno
group by d.deptno,d.dname;

--查询每个部门,每个岗位的部门编号,部门名称,岗位名称,部门人数,最高工资,最低工资,工资总和,平均工资

select d.deptno,d.dname,e.job,count(e.empno),max(e.sal),min(e.sal),sum(e.sal),avg(e.sal)
from emp e,dept d
where e.deptno = d.deptno
group by d.deptno,d.dname,e.job;

--查询每个经理管理的人数,经理编号,经理姓名,要求包括没有经理的人员信息

select count(e.empno),m.empno,m.ename
from emp e 
left join emp m 
on e.mgr = m.empno 
group by m.empno,m.ename;

--查询部门平均工资在2500以上的部门名称及平均工资

select d.dname,avg(e.sal)
from emp e,dept d
where e.deptno = d.deptno
group by d.dname
having avg(e.sal)>2500;

--查询员工岗位中不是以"SA"开头并且平均工资在2500元以上的岗位及平均工资,并按平均工资降序排序

select e.job,avg(e.sal)
from emp e
where e.job not like 'SA%'
group by e.job
having avg(e.sal)>2500
order by avg(e.sal) desc;

--查询部门人数在2人以上的部门名称,最低工资,最高工资,并对求得的工资进行四舍五入到整数位

select d.dname,round(min(e.sal),0),round(max(e.sal),0)
from emp e,dept d
where e.deptno = d.deptno
group by d.dname
having count(e.empno)>2;

--查询岗位不是SALESMAN,工资和大于等于2500的岗位及每种岗位的工资和

select job,sum(sal)
from emp
where job<>'SALESMAN'
group by job
having sum(sal)>=2500;

--显示经理号码,这个经理所管理的员工最低工资,没有经理的king也要显示,不包括最低工资小与3000的,按最低工资从高到低排列

select m.empno,min(e.sal)
from emp e
left join emp m
on e.mgr = m.empno
group by m.empno
having min(e.sal)>=3000
order by min(e.sal) desc;

--写一个查询,显示每个部门最高工资和最低工资的差额

select max(sal)-min(sal)
from emp
group by deptno;

作者:Wo们的征途是星辰大海
来源:CSDN
原文:https://blog.csdn.net/llj398110112/article/details/48155607
版权声明:本文为博主原创文章,转载请附上博文链接!```

相关文章

  • 查询练习。。。。重点自身连接各种方法

    --查询,显示所有员工姓名,部门编号,部门名称 --写一个查询,显示所有工作在CHICAGO并且奖金不会空的员工姓...

  • mysql-数据查询语句-多表

    连接查询 连接查询,是关系数据库中最主要的查询,包括等值查询、自然连接查询、非等值查询、自身连接查询、外连接查询和...

  • 52 SQL 复习 语句关系代数(三)

    多表查询 等值连接查询和非等值连接查询 JOIN ON 自然连接 自身连接 注意,如果属性名在参与连接的各个表中是...

  • 黑马SQL笔记 - 基础篇 - 4. 多表查询

    多表关系 一对多 多对多 一对一 连接查询 自连接:当前表与自身的连接查询,自连接必须使用表别名内连接:相当于查询...

  • 子查询连接查询练习

    --1、查询和ford相同部门的员工姓名和雇用日期 --2、查询工资比公司平均工资高的员工的员工号,姓名和工资。 ...

  • MySQL连接查询:左外连接、右外连接、全连接

    昨天介绍了MySQL连接查询中的交叉连接和内连接,今天继续介绍连接查询中的剩下三个连接方法,左外连接、右外连接、全...

  • SQL 连接查询

    SQL各种连接查询详解(左连接、右连接..) 一、交叉连接(cross join) 交叉连接(cross join...

  • 引体向上的9个辅助练习

    引体向上,主要测试上肢肌肉力量的发展水平,是自身力量克服自身重力的悬垂力量练习。是最基本的锻炼背部方法,重点是锻炼...

  • mysql

    重点掌握的知识点 一. MYSQL中的日期处理二.分组查询三.连接查询四.自查询五. limitsql 脚本该文件...

  • 数据库数据查询之多表连接查询

    【实验内容】 1.自然连接2.自身连接3.外连接 【实验步骤】 1.自然连接(1)查询所有选课学生的学号、姓名、选...

网友评论

      本文标题:查询练习。。。。重点自身连接各种方法

      本文链接:https://www.haomeiwen.com/subject/vptsfqtx.html