当前位置: 首页 > 面试题库 >

提薪后获得低于平均工资的员工

阎宝
2023-03-14
问题内容

我需要获得fname,lname,比平均工资低400.00美元的员工薪水,即使在加薪10%之后。

我能够使薪水低于平均薪水的员工,但不确定如何使加薪后的薪水低于400美元的员工。

我正在使用MySQL。谢谢你。

select AVG(salary) from employee; #gives me the average salary



select Fname, Lname, Salary, 1.10*Salary as NewSalary
from employee; 
#gives me names, old salary and salary raised.

这给了我工资低于平均工资的员工:

select Fname, Lname, Salary
from employee
where Salary < (select AVG(salary) from employee);

我当时在想这样的事情,但这是行不通的。未知专栏新闻:

select Fname, Lname, Salary, 1.10*Salary as NewSalary
from employee
where NewSalary - (select AVG(salary) from employee) = 400 ;

问题答案:

您有一个正确的想法,就是不能在这样的where子句中使用别名。只需直接使用公式,就可以了。另外,您可能应该使用<=,而不是=

select Fname, Lname, Salary, 1.10 * Salary as NewSalary
from   employee
where  1.10 * Salary - (select AVG(salary) from employee) <= 400;


 类似资料:
  • 员工属于一个部门(外键=D_ID)。员工有一个SSN(主键)、姓名、工资和D_ID。

  • 我尝试了一个sql但不起作用 员工(EID,EName,城市) 工时(EID、CID、工资) 公司(CID、CName、城市) 创建表Employee(eid int主键,ename varchar(6),city varchar(6)) 创建表工时(eid int,cid int主键,salary int) 创建表Company(cid int,cname varchar(6),city var

  • 我怎样才能得到公司员工的平均工资,他们的工资超过了工资限制?我想首先我需要得到一个所有薪水的列表,并使用mapToInt和average进行筛选,但是。。。什么都不管用(( }

  • 问题内容: 我正在写一个查询,以查找收入高于其部门平均工资的员工。我需要显示员工ID,薪水,部门ID和该部门的平均工资。 我有一个几乎可以正常使用的查询,但它一直显示“ ORA-00904:“ AVG_SAL”:无效标识符”错误。我正确地做到了吗?为什么会出现此无效的标识符错误? 问题答案: 我不相信您可以在WHERE子句中引用列别名(在这种情况下为avg_sal)。 您需要重复该内部查询,即:

  • 有两张桌子: 问题是如何找到哪个经理支付给他的员工的平均工资(+奖金)最高?

  • 我有一个表员工与字段部门,员工和工资。我想要一个查询,以列出部门最高工资和该工资的员工姓名。 我知道这很简单。我在谷歌上搜索,但找到了这样的答案,只列出了部门和工资