Instrucción Select parte 2

Instrucción Select parte 2

Manual-SQL-en-espa_ol.jpg

esta intrucciones se hacen bajo el ejemplo de esta base de datos de ejemplo (la base de datos esta en PostgreSQL hay q adaptarla para SQL server)de la segunda clase con estra instruccion

  1. FUNCIONE S DE AGREGACION

Las funciones de agregación se usan dentro de una cláusula SELECT,para devolver un único valor que se aplica a un grupo de registros.:

  • sum(campo): Suma total de todos los valores de un campo.

  • avg(campo): Promedio de todos los valores de un campo.

  • min(campo): Mínimo valor de un campo especificado.

  • max(campo): Máximo valor de un campo especificado.

  • count(campo): Cuenta la cantidad de filas de un campo.



  • Ejemplos, existe la siguiente tabla

Empleados

rut_emp varchar(20)

nombre_emp varchar(30)

apellidos_emp varchar(40)

departamento_emp varchar(20)

sueldo_base integer

  1. Calcular la suma total de todos los sueldos de los empleados.

SELECT sum(sueldo_base)

FROM empleados

  1. Calcular el promedio de renta de los empleados.

SELECT round (avg(sueldo_base))

FROM empleados

  1. Determinar el sueldo mínimo de los empleados.

SELECT min(sueldo_base)

FROM empleados

  1. Determinar el sueldo máximo de los empleados.

SELECT max(sueldo_base)

FROM empleados

  1. Determinar cuantos empleados existen.

SELECT count(*)

FROM empleados

  1. Cuantos empleados existen en el departamento de Contabilidad

SELECT count(*)

FROM empleados

WHERE departamento_emp=’Contabilidad’

SELECT count(*) as cantidad , sum(sueldo_base) as suma,

min(sueldo_base) as minimo

FROM empleados

WHERE departamento_emp='Contabilidad'

¿Cuál es el rango de sueldo que tiene el departamento de Personal?

SELECT min(sueldo_base) as minimo,

max(sueldo_base)

FROM empleados

WHERE departamento_emp='Personal'

Necesita un informe que liste cada departamento con su cantidad de empleados.

SELECT departamento_emp, count(*) as cantidad

FROM empleados

GROUP BY departamento_emp

ORDER BY departamento_emp

Agregar al informe cuanto ganan en promedio los empleados.

SELECT departamento_emp, count(*) as cantidad, avg(sueldo_base) as promedio

FROM empleados

GROUP BY departamento_emp

ORDER BY departamento_emp

Listar sólo los departamentos que tienen 2 empleados.

SELECT departamento_emp, count(*) as cantidad

FROM empleados

GROUP BY departamento_emp

HAVING count(*)=2

ORDER BY departamento_emp

Listar los departamentos que tengan una suma de sueldos mayores a 550000,

Ordenados por sueldos.

SELECT departamento_emp, sum(sueldo_base) as sueldos

FROM empleados

GROUP BY departamento_emp

HAVING sum(sueldo_base)>550000

ORDER BY sueldos

  1. GRO

  2. UP BY Y HAVING

GROUP BY Se utiliza para juntar un conjunto de filas idénticas y así aplicar funciones de agregación.

Por ejemplo, determinar la suma de sueldos de cada departamento.

Para sumar usamos sum, y para agrupar por departamento group by

SELECT departamento_emp , sum(sueldo_base) as sueldo

FROM empleados

GROUP BY departamento_emp

HAVING se utiliza para establecer condiciones sobre la agrupación. Por ejemplo, mostrar todos los departamentos que las suma de sus sueldos sea mayor a 3000000

SELECT departamento_emp , sum(sueldo_base) as sueldo

FROM empleados

GROUP BY departamento_emp

HAVING sum(sueldo_base)>3000000

¿Cuál es el precio promedio de los productos de la empresa?

¿Cuántos productos tiene la empresa con precio mayor a 20000?

Genere un listado con las ciudades y cantidad de clientes por ciudad.

Mostrar la fecha de la venta más antigua.

SELECT min(fecha_vta)

FROM ventas

Mostrar la fecha de la venta mas reciente.

|

Comentarios

Comentarios de este artículo en RSS

Comentarios recientes

Cerrar