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));
输出: