Está en la página 1de 10

2.

7 Actividad 3: SQL Grupos


Diseño de base de datos 1

José Saul de Lira Miramontes


Lesly Alejandra Santarriaga Olivas
345525
21 de febrero del 2022
Tabla de contenido
Introducción ........................................................................................................................................ 1
Problema uno ...................................................................................................................................... 2
Problema dos ....................................................................................................................................... 2
Problema tres....................................................................................................................................... 3
Problema cuatro .................................................................................................................................. 3
Problema cinco .................................................................................................................................... 4
Problema seis ...................................................................................................................................... 4
Problema siete ..................................................................................................................................... 5
Problema ocho ..................................................................................................................................... 5
Problema nueve ................................................................................................................................... 6
Problema diez ...................................................................................................................................... 6
Conclusión........................................................................................................................................... 8

Tabla de imágenes
Ilustración 1. Consulta SQL problema 1 ............................................................................................. 2
Ilustración 2. Resultado problema 1 .................................................................................................... 2
Ilustración 3. Consulta SQL de problema 2 ........................................................................................ 2
Ilustración 4. Resultado de problema 2 ............................................................................................... 3
Ilustración 5. Consulta SQL problema 3 ............................................................................................. 3
Ilustración 6. Resultado de problema 3 ............................................................................................... 3
Ilustración 7. Consulta SQL de problema 4 ........................................................................................ 3
Ilustración 8. Resultado de problema 4 ............................................................................................... 4
Ilustración 9. Consulta SQL de problema 5 ........................................................................................ 4
Ilustración 10. Resultado de problema 5 ............................................................................................. 4
Ilustración 11. Consulta SQL de problema 6 ...................................................................................... 5
Ilustración 12. Resultado de problema 6 ............................................................................................. 5
Ilustración 13. Consulta SQL de problema 7 ...................................................................................... 5
Ilustración 14. Resultado de problema 7 ............................................................................................. 5
Ilustración 15. Consulta SQL de problema 8 ...................................................................................... 6
Ilustración 16. Resultado de problema 8 ............................................................................................. 6
Ilustración 17. Consulta SQL de problema 9 ...................................................................................... 6
Ilustración 18. Resultado de problema 9 ............................................................................................. 6
Ilustración 19. Consulta SQL de problema 10 .................................................................................... 7
Ilustración 20. Resultado de problema 10 ........................................................................................... 7
Introducción
El presente trabajo se aprenderá como utilizar SQL para almacenar, consultar y
manipular datos de una forma avanzada a los trabajos anteriores, SQL es un lenguaje de
programación de propósito especial diseñado para manejar datos en una base de datos
relacional, y es utilizado por un gran número de aplicaciones y organizaciones.

1
Problema uno
En este problema se obtendrá la nómina que es la suma de los salary de los empleados
del departamento, el cual se le paga a cada uno de los departamentos (department_id y
nomina).

Se utilizo la cláusula de “SUM” para poder sumar la nómina por department_id


también se cambió el nombre de la columna con “AS” para que se llamara nomina, se utilizó
la cláusula de “IS NOT NULL” para que no sume los datos que no tienen salarios, las
cláusulas de “GROUP BY” y “ORDER BY” se utilizaron para agrupar y ordenar las filas
mediante department_id.

Ilustración 1. Consulta SQL problema 1

Como puede observarse en la imagen se sumó la nómina por cada grupo que existe
de department_id también se ordenó con el department_id los datos.

Ilustración 2. Resultado problema 1

Problema dos
En este problema se obtendrá el salario menor y mayor que se está pagando por puesto
(job_id, salario menor y salario mayor).

Como puede verse se tienen dos nuevas clausulas donde “MAX” sirve para buscar el
dato mayor y el “MIN” sirve para buscar el dato menor dentro de la columna, en este caso se
agruparán las filas en base a la cláusula de “GROUP BY” con el job_id.

Ilustración 3. Consulta SQL de problema 2

2
Se tiene como resultado la siguiente consulta, donde puede observarse los datos
agrupados con los valores de máximo y mínimo.

Ilustración 4. Resultado de problema 2

Problema tres
Se obtendrán los departamentos que tienen asignados más de 30 empleados
(department_id, no. empleados).

En este problema se vuelve a usar la cláusula de “GROUP BY”, donde se agruparán


los department_id y la cláusula “HAVING COUNT” donde se tendrán los department_id
mayor a 30, se le cambio el nombre a la columna con la cláusula de “AS” el cual es
empleados.

Ilustración 5. Consulta SQL problema 3

Como puede observarse en el resultado están los department_id agrupados mayores


a 30.

Ilustración 6. Resultado de problema 3

Problema cuatro
En este problema se obtendrá el salario promedio que se paga por puesto (job_id,
salario promedio).

Se puede observar que se utilizó una nueva cláusula que seria “AVG” el cual hace el
promedio de los datos de la columna que se seleccionó, mientras el “GROUP BY” agrupo
las filas mediante el job_id.

Ilustración 7. Consulta SQL de problema 4

3
Como resultado de la consulta, se pueden ver los datos agrupados con el job_id y el
promedio que tienen de salario los empleados.

Ilustración 8. Resultado de problema 4

Problema cinco
Como problema cinco se tendrá que obtener los departamentos con más de un
movimiento de puesto de su personal (department_id, no. movimientos).

Como puede observarse se utilizó la tabla de datos de job_history donde nos sirve
para poder ver los movimientos de los empleados en su puesto personal y la cláusula
“HAVING COUNT” donde cuenta los movimientos a partir de 1.

Ilustración 9. Consulta SQL de problema 5

A continuación, se puede ver el resultado de las columnas que se seleccionaron y los


datos que se pidieron en concreto.

Ilustración 10. Resultado de problema 5

Problema seis
En este problema se obtendrá la nómina que se paga por puesto, no se incluirá el
puesto SA_REP, solo aquellos puestos que tienen una nómina mayor a $50000 (job_id,
nómina).

Como puede mirarse las cláusulas “SUM” donde se suma la nómina y “AS” para
cambiar el nombre por lo cual se siguen utilizando, se agrupan las filas a través de “GROUP
BY” con el job_id y se tiene una nueva clausula “HAVING SUM” que tiene como función
incluir la condición de “SUM”.

4
Ilustración 11. Consulta SQL de problema 6

Como puede observarse a continuación, se puede ver el resultado de las columnas que
se seleccionaron y los datos que se pidieron en concreto.

Ilustración 12. Resultado de problema 6

Problema siete
Se obtendrá el número de empleados por departamento, para los empleados que tienen
un salario en el rango de 2000 a 10000 (department_id, no. empleados).

Como puede observarse las filas se agruparán y ordenarán con las cláusulas “GROUP
BY” y “ORDER BY”, el rango del salario se sacó con la cláusula “BETWEEN” y se contó
por cada employee_id con la cláusula de “COUNT”.

Ilustración 13. Consulta SQL de problema 7

A continuación, puede observarse el resultado de la consulta que se pidió en el


problema.

Ilustración 14. Resultado de problema 7

Problema ocho
En este problema se obtendrá el número de empleados que tienen comisión, por
puesto (job_id, no. empleados).

Se utilizo la cláusula de “COUNT” para contar las filas por employee_id se le cambio
el nombre a empleados con “AS”, y se agruparon las filas con el “GROUP BY” con el job_id,
con la cláusula “IS NOT NULL” se utilizó para que no cuente los datos que no tienen

5
comisión.

Ilustración 15. Consulta SQL de problema 8

Como puede observarse a continuación, se puede ver el resultado de las columnas que
se seleccionaron y los datos que se pidieron en concreto de los empleados.

Ilustración 16. Resultado de problema 8

Problema nueve
En este problema se obtendrá el no. mayor de empleados a cargo de un administrador.

Se utilizará el “MAX COUNT” para obtener el dato mayor de una columna, el “IS
NOT NULL” para que no cuente los datos que no tienen administrador y las filas se agruparan
con la cláusula de “GROUP BY” con el manager_id.

Ilustración 17. Consulta SQL de problema 9

Como puede observarse en el resultado de la consulta, el número mayor de empleados


que tiene a su cargo un administrador es 14.

Ilustración 18. Resultado de problema 9

Problema diez
Se obtendrá la primera y última fecha de ingreso o contratación para cada
departamento.

Como puede observarse se utilizó la tabla de datos de job_history donde nos sirve
para poder ver las fechas de ingreso o contratación de los empleados por departamento,
mediante las cláusulas “MAX” y “MIN” se obtendrán estas fechas las cuales se cambiarán
de nombre con la cláusula de “AS” con los nombres de primera y última, como puede

6
observarse las filas se agruparán y ordenarán con las cláusulas “GROUP BY” y “ORDER
BY” mediante el department_id.

Ilustración 19. Consulta SQL de problema 10

Como puede observarse a continuación, se puede ver el resultado de las columnas que
se seleccionaron y las fechas que se pidieron en concreto de los empleados.

Ilustración 20. Resultado de problema 10

7
Conclusión
Se obtiene primeramente como conclusión que, en la mayoría de los casos usamos las
mismas clausulas ya sea GROUP BY o ORDER BY ya sea porque los problemas estaban
enlazados o porque se requerían utilizar las mismas clausulas. El SQL nos permitió ingresar
los comandos o sentencias de tal manera que se pudo administrar o crear la base de
datos, esta variedad de cláusulas nos permitió generar la información de datos desde la
creación o modificación a las tablas las cuales también nos permitieron recuperar los datos o
importarlas de varias maneras.

También podría gustarte