En SQL, necesitamos encontrar la información del departamento de la tabla dada que contiene información sobre los empleados. Uno de esos datos es el nombre del departamento que tiene la mayor cantidad de empleados trabajando en él. Usaremos TOP , COUNT , ORDER BY , GROUP BY ,y cláusulas DESC 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 departamento que tiene el mayor número de empleados trabajando en él. Usaremos la función agregada CONTAR aquí para encontrar la cantidad de empleados que trabajan en cada departamento. Esto se logra aún más utilizando la cláusula GROUP BY para contar el número por departamento. Luego, todas las frecuencias obtenidas se clasifican en orden decreciente usando ORDER BY y DESC se usa para especificar el orden descendente. Luego, la fila superior se selecciona usando la cláusula TOP seguida de 1. 1 aquí indica que la consulta devuelve solo 1 fila. También nombramos la nueva columna de la mayor cantidad de empleados como MAX_NO_OF_EMPLOYEES usando el AScláusula que crea una especie de alias.
Sintaxis:
SELECT TOP 1 COLUMN1, COUNT(*) AS ALIAS FROM TABLE_NAME GROUP BY COLUMN1 ORDER BY COUNT(*) DESC;
Consulta:
SELECT TOP 1 DEPARTMENT_NAME, COUNT(*) AS MAX_NO_OF_EMPLOYEES FROM COMPANY GROUP BY DEPARTMENT_NAME ORDER BY COUNT(*) DESC;
Nota: esta consulta devuelve solo 1 fila, es decir, la fila superior entre las filas ordenadas devueltas.
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