📜  SQL 查询以查找同时也是经理的所有员工

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

SQL 查询以查找同时也是经理的所有员工

结构化查询语言或 SQL 是一种标准的数据库语言,用于从 MySQL、Oracle 等关系数据库中创建、维护和检索数据。

在这里,我们将看到如何在 SQL 中查找所有员工的详细信息,这些员工也是经理。我们将首先创建一个名为“geeks”的数据库,然后在该数据库中创建一个“employees”表。之后,我们将在该表上执行我们的查询。

创建数据库:

使用以下 SQL 语句创建名为 geeks 的数据库:

CREATE DATABASE geeks;

使用数据库:

USE geeks;

表定义:

我们的 geeks数据库中有以下 Employee 表:

CREATE TABLE employees(
    EMPLOYEE_ID int,
    NAME Varchar(20),
    PHONE_NUMBER int,
    HIRE_DATE date,
    MANAGER_ID int);

您可以使用以下语句查询已创建表的描述:



EXEC SP_COLUMNS employees;

向表中添加数据:

使用以下语句向Employee表添加数据:

INSERT INTO EMPLOYEES VALUES (100, "ANURAG", 9889269997, "1987-06-17", 100);
INSERT INTO EMPLOYEES VALUES (101, "harsh", 8789269986, "1987-06-20", 100);
INSERT INTO EMPLOYEES VALUES (102, "SUMIT", 7689269975, "1987-07-07", 103);
INSERT INTO EMPLOYEES VALUES (103, "RUHI", 9589269964, "1987-07-12", 102);
INSERT INTO EMPLOYEES VALUES (104, "KAE", 8489269953, "1987-07-23", 103);

要验证表的内容,请使用以下语句:

SELECT * FROM EMPLOYEES;

现在要获取所有兼任经理的员工的详细信息,我们使用 EMPLOYEE_ID 字段和MANAGER_ID ,我们将找出兼任经理的员工的详细信息。查询将具有以下语法:

Syntax:
SELECT *
FROM table_name  
WHERE (column_name IN (SELECT column_name FROM table_name));

现在在我们创建的表上运行相同的查询,如下所示:

SELECT * FROM EMPLOYEES WHERE (EMPLOYEE_ID IN (SELECT MANAGER_ID FROM EMPLOYEES));

输出: