oracle练习--@余生请指教多

时间:2022-05-24 02:25:08

--1、查询出每个员工的编号,姓名,职位
select Emp_id,Ename,job from emp;
--2、查询每个员工的岗位名称
select Ename,job from emp;
--3、计算出每个员工一年的基本工资,同时显示出姓名和编号
select ename,emp_id,sal*12 as 年基本工资 from emp;
--4、计算出每个员工的年薪,每个月公司会补贴餐补200,交通300;年薪=(工资+奖金)*12
select ename,(sal+comm+200+300)*12 as 年薪 from emp;
--5、查询出基本工资高于2000 的员工信息
select Ename,sal from emp where sal>2000;
--6、查询出名字叫‘张三’的所有信息
select * from emp where Ename='张三';
--7、查询出工资范围在1500—3000的全部员工信息(包括1500和3000)
select Ename,sal from emp where sal between 1500 and 3000;
--8、查询出所有员工姓名是以‘李’开的信息;
select ename from emp where ename like '李%';
--9、查询出员工姓名中第二个字是‘四’的信息
select ename from emp where ename like '_四%';
--10、查询出所有员工信息,要求按工资排序;
select * from emp order by sal desc;
--11、查询出测试部工作的员工姓名、基本工资、入职日期,部门名称;
select a.dept_id,a.dname,b.dept_id,b.ename,b.sal,b.hiredate
from dept a,emp b
where dname='测试部' and a.dept_id=b.dept_id;
--12、查询出所有员工的姓名,部门名称及工资;
select ename,dname,sal+comm as 工资 from emp,dept where emp.dept_id=dept.dept_id;
--13、查出与“某某”员工在同一个部门工作的人员信息(前提不知道该员工在哪个部门)
Select * from emp where dept_id=(Select dept_id from emp where ename='张三');
--14、查出薪资等于部门编号为3的员工的薪资的员工信息;
select * from emp,dept where emp.dept_id=dept.dept_id and dept.dept_id=3;
--15、查出薪资高于部门编号为3的员工的薪资的员工信息;

--16、查出高于整个公司平均薪资的人员信息;
select * from emp where (sal+comm)>(select avg(sal+comm) from emp);
--17、 查出每个部门有多少人;以及部门名称和部门ID
select dname,emp.dept_id,count(emp.dept_id)
from dept,emp
where dept.dept_id=emp.dept_id
group by dname,emp.dept_id;
--18、 1、列出与 “李四” 从事相同工作的所有员工姓名及部门名称,部门人数。
select dept_id from emp where ename='李四';
select emp.ename,dname,count(emp.dept_id)as 部门人数
from emp,dept
where emp.dept_id=dept.dept_id
and emp.dept_id in(select dept_id from emp where ename='李四')
group by emp.ename,dname;
--19、 2、列出薪金比 “某某1” 或 “某某2” 多的所有员工的编号,姓名,部门名称,其领导编号,部门人数。
select sal+comm from emp where ename='李四';
select emp_id,ename,mgr,dept.dname,count(emp.dept_id)
from emp,dept
where emp.dept_id=dept.dept_id
and (sal+comm)>(select sal+comm from emp where ename='李四')
group by emp_id,ename,mgr,dept.dname;
--20、 3、列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称,部门位置,部门人数。
--21、 4、列出所有 “某某3” (不同的部门都有这个人)的姓名及其部门名称,部门人数,工资。
select ename,dept.dname,(sal+comm),count(emp.dept_id)
from emp,dept where emp.dept_id=dept.dept_id and ename='李四'
group by ename,dept.dname,(sal+comm);

本文仅代表作者观点,系作者@请多指教 发表。
欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
http://www.cnblogs.com/yushengaqingzhijiao/p/8298470.html