编写一个PLSQL函数,检查员工的薪资是否低于所有员工的平均薪资。如果薪资为lees,则程序应将该员工的薪资更新为其当前薪资的5%,并打印旧员工薪资、所有员工的平均薪资以及更新后的新员工薪资。您的程序应该处理所有可能的异常。您的输出应该被格式化如下:
O/P: Old salary is: $510
Avg salary is: $957.05
New salary is: $765
1-Huguette Sandrine: $765
CREATE OR REPLACE FUNCTION checkEMPsal()
return number
IS
avg_sal
如何显示薪资高于公司avg(薪资)的所有员工的姓名、薪资和avg(薪资)。
我尝试了以下查询:
Select last_name, salary
From employees
Where salary >(select avg(salary) from employees);
这给出了那些薪水比公司平均工资更高的员工的名字。但是我也想在选择列表中显示avg(薪水)。
我有一个表,其中包含员工的工资计划。我希望在搜索特定的薪资时,选择该薪资,如果该薪资不存在,则选择下一个最接近的更高的薪资。 我想要5,200英镑的薪水。如果存在,则将其选中。如果它不存在,则选择高于它的工资,例如5300。 我尝试使用这个,但它给了我最大值,我想要下一个更大的值: SELECT MAX(sal) FROM tst WHERE sal >= 5900 LIMIT 1;
任务:
显示在平均薪资低于公司平均薪资的部门中平均薪资最高的部门的名称。提示:使用嵌套子查询
我的尝试:
Select Department, avg(Salary) as "Highest Average Salary"
from Employees
group by Department
having avg(Salary) > (
select Department, avg(Salary) as "Average Salary"
from Employees
group by Department
ha
我被要求做以下工作:
创建一个SQL语句,该语句将列出每个策略的策略编号,以及保单承保的人的姓名和销售此策略的代理的主管的薪资。列的标题与主管的薪资应该是“代理主管的薪资”。只有当策略不是由经理的代理出售时,它们才会出现在列表中。
我的回答是:(我唯一写不到的部分是主管的薪水)
SELECT PolicyNo, InsuredName, salary AS [Salary of Agent Supervisor]
FROM Agent,
Policy,
Insured
WHERE Agent.AgentNo = policy.AgentNo
AND Policy.In
与我一起工作的是员工(EMPLOYEE_ID,FIRST_NAME,LAST_NAME,工资,MANAGER_ID,DEPARTMENT_ID)
具体问题是找出薪资高于经理的所有员工,并显示这些员工的薪资及其经理的薪资。
我相信我已经找到了比他们的经理收入更高的员工(如下图所示),但我似乎不知道该如何显示经理的薪水。
select e.EMPLOYEE_ID, e.SALARY, MANAGER_ID
from employees e
where e.SALARY > (
select e1.SALARY
from employees e1
where e.MAN
如果我正在运行薪资报告,我有普通员工,他们的工资由两个不同的部门分担。因此,基本上,一名员工的薪资成本将在我的报告中分摊50%,因为我不计算其他50%的薪资成本(这些薪资成本将计入其他部门)
然而,主管监督(例如)8个团队,因此她的薪资成本被分配到报告的12.5%。
在报告中,我把雇员的费用加起来50%,但我不知道如何把主任12.5%的费用加在同一栏中。我的代码是这样的,但是我想知道如何调整它,以便得到我所需要的:
select
to_char("Date", 'YYYY') as "Date",
case
when "Typ
我有桌子上的员工,看起来是这样的:
CREATE TABLE employees
(
id int primary key,
name varchar(20) not null,
boss int references employees(id),
salary money,
);
现在我必须创建一个触发器,然后
UPDATE employees
SET money = 5000
WHERE id = 1
递归更改经理的薪资(新旧薪资之间的差额为+500 zł,更新后的员工有3个管理,因此我想更新他的薪资和经理的薪资,但每个经理都是经理的老板,所以我也
创建一个名为UPD_JOBSAL的存储过程,以更新作业表中特定职务ID的最低薪资和最高薪资。该过程应提供三个参数:职务ID、新的最低薪资和新的最高薪资。
将异常处理添加到作业表中无效作业ID的帐户中。
create or replace procedure sma212 (jobidnew varchar2, newmin number, newmax number)
is
e exception;
begin
update jobs
set min_salary=newmin, max_salary=newmax
where job_id=jobidnew;