Beruflich Dokumente
Kultur Dokumente
Taller IV
Terceros de bachillerato A-B
Fecha: 11-12-13 de Marzo del 2015
Lea y resuelva las 16 preguntas.
selecttop3withtiesoficio,apellidofromemp
whereoficio='EMPLEADO'
orderbyoficio
Devuelve los 3 primeros registros con oficio empleado, y si existe
algn empleado ms, tambin lo devuelve, porque coincide con lo que
buscamos.
Funciones de agregado:
Son funciones que se utilizan para calcular valores en las tablas. Si queremos usarlas
combinndolas junto con otros campos debemos utilizar Group by y agrupar los datos
que no son funciones.
Con la sentencia group by no se utiliza la clausula where, se utilizara una clausula
propia de la expresin: HAVING. Equivalente a where
COUNT: Cuenta los registros que hay en la consulta.
Si pongo un valor dentro de la expresin devolver la cuenta
de todos los registros no nulos.
Si pongo un asterisco contar todos los registros aunque
tengan valores nulos.
select count(*) from emp Valores con Nulos
select count(oficio) from emp Valores sin nulos
AVG: Realiza la media sobre la expresin dada, debe ser un
tipo de dato Int.
select avg(salario) from emp
MAX: Saca el valor mximo de una consulta.
select max(fecha_alt) from emp
MIN: Devuelve el valor mnimo de una consulta.
select min(fecha_alt) from emp
SUM: Devuelve la suma de los salarios
select sum(salario) from emp
Operadores de SQL:
Lgicos:
AND, OR , NOT
De Comparacin:
= Igual
< Menor
> Mayor
<> Diferente
>= Mayor o igual
<= Menor o igual
11. Calcular el salario medio de la plantilla de la sala 6, segn la funcin que realizan.
Indicar la funcin y el nmero de empleados.
select count(*) as [N de empleados], funcion, avg(salario) as [Salario Medio]
from plantilla group by funcion, sala_cod having sala_cod = 6
12. Averiguar los ltimos empleados que se dieron de alta en la empresa en cada uno de
los oficios, ordenados por la fecha.
select max(fecha_alt) as [Fecha], Oficio from emp group by oficio order by 1
13. Mostrar el nmero de hombres y el nmero de mujeres que hay entre los enfermos.
select count(*) as [Nmero], s as [Sexo] from enfermo group by s
14. Mostrar la suma total del salario que cobran los empleados de la plantilla para cada
funcin y turno.
select funcion, t as [Turno], sum(salario) as [Suma de Salarios]
from plantilla group by funcion, t
15. Calcular el nmero de salas que existen en cada hospital.
select count(*) as [N Salas], hospital_cod from sala
group by hospital_cod
16. Mostrar el nmero de enfermeras que existan por cada sala.
select count(*) as [N Personas], sala_cod, funcion from plantilla
where funcion='enfermera'
group by sala_cod, Funcion
order by 1
truncate table
mujeres