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