📜  SQL查询打印部门内工资最低的人的姓名和工资

📅  最后修改于: 2022-05-13 01:54:47.836000             🧑  作者: Mango

SQL查询打印部门内工资最低的人的姓名和工资

在 SQL 中,我们需要从包含员工信息的给定表中找出部门信息。一个这样的数据是每个部门员工的最低工资。我们将使用 GROUP BY 子句来实现这一点。如下图所示。对于本文,我们将使用 Microsoft SQL Server 作为我们的数据库。

第 1 步:创建数据库。为此,请使用以下命令创建一个名为 GeeksForGeeks 的数据库。

询问:

CREATE DATABASE GeeksForGeeks

输出:

第 2 步:使用 GeeksForGeeks 数据库。为此,请使用以下命令。

询问:

USE GeeksForGeeks

输出:

第 3 步:在 GeeksForGeeks 数据库中创建一个表 COMPANY。该表有 4 列,即 EMPLOYEE_ID、EMPLOYEE_NAME、DEPARTMENT_NAME 和 SALARY,分别包含各个员工的 id、姓名、部门和工资。

询问:

CREATE TABLE COMPANY(
EMPLOYEE_ID INT PRIMARY KEY,
EMPLOYEE_NAME VARCHAR(10),
DEPARTMENT_NAME VARCHAR(10),
SALARY INT);

输出:

第 4 步:描述表 COMPANY 的结构。

询问:

EXEC SP_COLUMNS COMPANY;

输出:

第 5 步:在 COMPANY 表中插入 5 行。

询问:

INSERT INTO COMPANY VALUES(1,'RAM','HR',10000);
INSERT INTO COMPANY VALUES(2,'AMRIT','MRKT',20000);
INSERT INTO COMPANY VALUES(3,'RAVI','HR',30000);
INSERT INTO COMPANY VALUES(4,'NITIN','MRKT',40000);
INSERT INTO COMPANY VALUES(5,'VARUN','IT',50000);

输出:

第 6 步:显示 COMPANY 表的所有行。

询问:

SELECT * FROM COMPANY;

输出:

步骤 7:显示每个部门员工获得的最低工资以及员工姓名和部门。我们将在这里使用 IN 子句来比较从外部查询获得的薪水与从内部查询获得的最低薪水。内部查询使用 GROUP BY 子句仅返回每个部门的 1 个薪水,即最少的一个。 MIN 聚合函数用于查找部门中的最低工资。

句法:

SELECT INFORMATION FROM TABLE_NAME WHERE
COLUMN_1 IN (SELECT AGGREGATE_FUNCTION
(COLUMN_1) FROM TABLE_NAME GROUP BY COLUMN_2);

询问:

SELECT EMPLOYEE_NAME,DEPARTMENT_NAME,
SALARY FROM COMPANY WHERE
SALARY IN (SELECT MIN(SALARY) FROM
COMPANY GROUP BY DEPARTMENT_NAME);

输出: