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 el salario promedio más alto de los empleados que trabajan en él. Usaremos las cláusulas TOP , AVG , ORDER BY , AS , GROUP BY y 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 salario promedio más alto obtenido por los empleados que trabajan en ese departamento. Usaremos la función de agregado AVG aquí para calcular el salario promedio (media) de cada departamento. El promedio por departamento se obtiene con la ayuda de la cláusula GROUP BY que agrupa todos los salarios de un departamento específico y luego calcula el promedio. Luego, estos promedios se ordenan en orden descendente utilizando las cláusulas ORDER BY y DESC . 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 llamamos a la nueva columna del salario por departamento comoMAX_AVG_SALARY usando la cláusula AS que crea una especie de alias.
Sintaxis:
SELECT TOP 1 COLUMN1, AVG(COLUMN2) AS ALIAS FROM TABLE_NAME GROUP BY COLUMN1 ORDER BY AVG(COLUMN2) DESC;
Consulta:
SELECT TOP 1 DEPARTMENT_NAME, AVG(SALARY) AS MAX_AVG_SALARY FROM COMPANY GROUP BY DEPARTMENT_NAME ORDER BY AVG(SALARY) 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