Consulta SQL para encontrar los nombres de los empleados cuyo departamento tiene un número de empleados inferior a 2

En SQL, necesitamos encontrar la información sabia del departamento de la tabla dada que contiene información sobre los empleados. Uno de esos datos es el nombre del empleado que pertenece a un departamento que tiene menos de 2 (es decir, solo 1) empleados. Usaremos la cláusula GROUP BY , IN y COUNT para lograr esto. Esto se ilustra a continuación. Para este artículo, utilizaremos Microsoft SQL Server como nuestra base de datos.

Paso 1: crear una base de datos. Para esto, use el siguiente comando para crear una base de datos llamada GeeksForGeeks.

Consulta:

CREATE DATABASE GeeksForGeeks

Producción:

Paso 2: use la base de datos GeeksForGeeks. Para esto, use el siguiente comando.

Consulta:

USE GeeksForGeeks

Producción:

Paso 3: Crear una tabla EMPRESA dentro de la base de datos GeeksForGeeks. Esta tabla tiene 4 columnas, a saber, EMPLOYEE_ID, EMPLOYEE_NAME, DEPARTMENT_NAME y SALARY que contienen la identificación, el nombre, el departamento y el salario de varios empleados.

Consulta:

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

Producción:

Paso 4: Describa la estructura de la tabla EMPRESA.

Consulta:

EXEC SP_COLUMNS COMPANY;

Producción:

Paso 5: Inserte 5 filas en la tabla EMPRESA.

Consulta:

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);

Producción:

Paso 6: Muestre todas las filas de la tabla EMPRESA.

Consulta:

SELECT * FROM COMPANY;

Producción:

Paso 7: Muestre el nombre del empleado y de su departamento perteneciente a un departamento que tiene menos de 2, es decir, 1 empleado . Usaremos la cláusula IN aquí para comparar los nombres de departamento obtenidos de la consulta externa con los nombres de departamento obtenidos de la consulta interna . La consulta interna usa la cláusula GROUP BY y la cláusula COUNT para contar el número de empleados que pertenecen a cada departamento. Luego compare este conteo devuelto para asegurarse de que el conteo sea menor que 2 .

Sintaxis:

SELECT EMPLOYEE_NAME, DEPARTMENT_NAME 
FROM COMPANY WHERE DEPARTMENT_NAME IN
(SELECT DEPARTMENT_NAME FROM COMPANY
GROUP BY DEPARTMENT_NAME HAVING COUNT(*)<2);

Consulta:

SELECT EMPLOYEE_NAME, DEPARTMENT_NAME
FROM COMPANY WHERE DEPARTMENT_NAME IN
(SELECT DEPARTMENT_NAME FROM COMPANY GROUP
BY DEPARTMENT_NAME HAVING COUNT(*)<2);

Nota : esta consulta devuelve solo 1 fila, es decir , VARUN y TI , ya que TI tiene solo 1 empleado .

Producción:

Publicación traducida automáticamente

Artículo escrito por abhisri459 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *