CONSULTAS SQL
Consultas simples.
1. Hallar una consulta que devuelva el nombre, apellidos y la fecha de nacimiento
de aquellos empleados que cobren ms 1350 euros.
2. Hallar una consulta que devuelva el nombre, apellidos y la fecha de nacimiento
de aquellos empleados que cobren menos 1350 euros.
B. Agrupacin de datos
1. Construya una consulta que devuelva el salario medio, mximo y mnimo de los
empleados agrupados por sexo.
2. Construya una consulta que devuelva cuantos perros y cuantos gatos han
pasado por el centro y ya no estn.
3. Construya una consulta que devuelva cuantos perros machos hay actualmente
en el centro agrupado por ubicacin.
4. Con la ayuda del filtro DISTINCT, construya una consulta que devuelva las
diferentes especies que hay actualmente en cada jaula o ubicacin del centro.
F. Abstraccin de tabla
1. Construya una consulta en SQL que devuelva el peso medio de todas las mudas
confeccionadas entre camisas y pantalones. Modifique la consulta para obtener el
mismo resultado entre camisa, pantalones y calzados.
2. Construya una consulta SQL que devuelva el peso medio de todas las mudas
confeccionadas entre camisas y pantalones agrupados por camisa. Modifique la
consulta de manera que devuelva el mismo resultado pero solo muestre los grupos
cuyo peso medio sea superior a 850 gramos.
3. Construya una consulta en SQL que devuelva las combinaciones de las camisas
con los pantalones de manera que: la primera camisa se combine con todos los
pantalones menos con el primero, la segunda camisa se combine con todos los
pantalones menos con el segundo y as sucesivamente.
4. Construya una consulta que devuelva la lista de prendas de una maleta que
contiene todas las camisas, pantalones y calzados.
J. Funciones nativas
1. Realice una consulta que devuelva la media de salarios de la tabla
EMPLEADOS agrupados por sexo. Redondee la media de salario a un solo
decimal y codifique la columna sexo par que parezca el literal HOMBRE y
MUJERES en lugar de H y M. No olvide bautizar las columnas con un alias
apropiado.
2. Realice una consulta sobre la tabla EMPLEADOS que devuelva el nombre,
los apellidos, la fecha de nacimiento y la edad actual en aos de cada
empleado. Para aquellos empleados con 18 aos o ms. Nota: la edad de
un empleados en aos es el nmero de das transcurridos dese el nacimiento
divido entre los 35 das que tiene un ao.
3. Realice una consulta sobre la vehculos que devuelva el nmero de vehculos
que deben pasar la revisin agrupados por el ao en que deben pasarla.
N. Vistas.
1. Construya una vista que codifique el campo ESPECIE, SEXO y ESTADO de la
tabla MASCOTA con ayuda de la funcin IF. El resto de campos no se debe
tratar, pero deben formar parte de la vista. Ponga un nombre a la vista para
que cuando se reutilice en las consultas, denote de que se trata de una
vista y no de una tabla.
O. Subconsultas update.
1. Supongamos que usted mantiene una BD en la que se ha detectado errores
en los datos. El problema radica en un proceso automtico ha resuelto mal el
precio de algunos artculos y les ha asignado un cero como precios de venta.
Tras analizar el problema se ha decidido que se recalcular el precio de estos
articulo asignndole el precio medio de articulo tomando como fuentes las facturas
del ao 2013. Por tanto, se debe modificar el campo PRECIO de la tabla
ARTICULO cuyo campo PRECIO vale cero, es decir, los errneos. El nuevo valor se
asignara tomando el valor medio del campo PRECIO de la tabla LINEAS_FACTURAS
del artculo a tratar. Solo deben considerarse facturas del ao 2013. Si un artculo
se ha facturado varias veces a un mismo precios solo se considerar una sola vez
para calcular la media. Si el artculo no se ha facturado nunca durante el
ao 2013 debe guardarse cero.
2. Construya una instruccin UPDATE que realice la actualizacin del precio de los
artculos con precio cero segn la especificacin anterior.
Campos que necesita conocer de cada una de las tablas.
BEGIN
Declare V_RETORNO int;
ELSE
SET V_RETORNO = P_VALOR_2;
END IF
Returns V_RETORNO;
END;
Esta funcin contiene un error, es decir no trata posibilidad de que los parmetros
de entrada contengan un valor nulo, si el primer parmetro contiene un valor nulo,
la condicin IF no se cumplir y la funcin retornara el valor del segundo parmetro
como el mayor de los dos. Esto no es correcto, si uno de los parmetros contiene
un valor nulo el resultado de la funcin MAYOR debe devolver un valor nulo o
indeterminado, puesto que no se puede determinar cul es el mayor de los dos.
Modifique la funcin MAYOR, para si cualquiera de los dos parmetros de entrada
contienes un valor nulo, la funcin retorne un valor nulo o indeterminado como
resultado de la operacin.
BEGIN
-----------------------------
END;