通过sql查询获取工资最低的员工姓名

nkoocmlb  于 2021-06-21  发布在  Mysql
关注(0)|答案(4)|浏览(673)

我想找出一个查询,显示员工中谁赚的钱最少?

Emp_Table 

EmpName   | Salary  | Gender

在正确的查询中,结果应该是1(employee)和最低工资
我尝试了以下查询

SELECT MIN(SALARY)
FROM Emp_Table

我不知道如何显示员工姓名,因为我们必须根据薪资设置查询。我正在学习这个概念,在google上搜索,但没有得到满意的答案。请帮助我。
谢谢。

afdcj2ne

afdcj2ne1#

如果多个记录具有相同的最小值 salary 值,则可以使用以下查询。两者都适用 SQL Server 以及 MySql .
查询

select * from Emp_Table
where salary = (
    select min(salary) from Emp_Table
);
f0brbegy

f0brbegy2#

使用order by和top 1
对于mssql

SELECT top 1 *
FROM Emp_Table 
order by  Salary asc

对于mysql

SELECT *
    FROM Emp_Table 
    order by  Salary asc
    limit 1
nkhmeac6

nkhmeac63#

试试这个:
--mysql数据库

SELECT E1.Employee_name
    FROM Employee_table E1
   WHERE E1.Salary = ( SELECT MIN(E2.Salary)
                       FROM Employee_table E2)
ORDER BY E1.Employee_name
   LIMIT 1

--甲骨文

SELECT E1.Employee_name
    FROM Employee_table E1
   WHERE E1.Salary = ( SELECT MIN(E2.Salary)
                       FROM Employee_table E2)
ORDER BY E1.Employee_name
FETCH FIRST 1 ROWS ONLY
eeq64g8w

eeq64g8w4#

下面应该给出前1名员工的姓名和他/她的工资,这相当于所有员工中的最低工资。
(删除 TOP 1 如果你想要全部的话。)

SELECT TOP 1 EmpName, Salary
FROM Emp_Table
WHERE Salary = (SELECT MIN(Salary) FROM Emp_Table);

相关问题