[Link].
Exactas-UNICEN Práctico N° 4 Parte 1 Cursada 2023
Consultas SQL - Consultas Simples
Consulta sobre una tabla
Considere los esquemas de las bases de datos de Voluntarios
(unc_esq_voluntarios) y de Películas (unc_esq_peliculas)
cuyos diagramas se muestran en la Figura 1 y 2 respectivamente.
La base de datos de Voluntarios representa la información
de personas voluntarias que trabajan para instituciones
realizando determinadas tareas. De las instituciones se
conoce su dirección y el país y continente al cual
pertenecen. De cada voluntario se conoce su voluntario
coordinador y las tareas e instituciones que ha realizado a
lo largo de su historial.
La base de datos de Películas mantiene información de un centro de distribución de las películas
que comercializa, los distribuidores y las entregas que deben realizar o ha realizado a cada video-
club.
Se incluyen datos de la empresa productora de cada película, los distribuidores de las mismas
(clasificados como nacionales o internacionales) y además los empleados que trabajan para cada
distribuidor, las tareas a realizar y a qué departamento pertenecen.
Bibliografía recomendada: Documentacion PostgreSQL a consultar: 7. Queries
[Link]
Identifique el esquema, la tabla y resuelva las siguientes consultas SQL:
1. Seleccione el identificador y nombre de todas las instituciones que son Fundaciones.(V)
select id_institucion, nombre_institucion
from unc_esq_voluntario.institucion
where nombre_institucion LIKE 'FUNDACION%'
2. Seleccione el identificador de distribuidor, identificador de departamento y nombre de todos
los departamentos.(P)
select id_distribuidor, id_departamento
from unc_esq_peliculas.departamento
3. Muestre el nombre, apellido y el teléfono de todos los empleados cuyo id_tarea sea 7231,
ordenados por apellido y nombre.(P)
select nombre, apellido, telefono
from unc_esq_peliculas.empleado
where id_tarea = '7231'
order by apellido asc, nombre asc
4. Muestre el apellido e identificador de todos los empleados que no cobran porcentaje de
comisión.(P)
1
[Link]-UNICEN Práctico N° 4 Parte 1 Cursada 2023
Consultas SQL - Consultas Simples
select apellido, id_empleado
from unc_esq_peliculas.empleado
where porc_comision is null
5. Muestre el apellido y el identificador de la tarea de todos los voluntarios que no tienen
coordinador.(V)
select apellido, id_tarea
from unc_esq_voluntario.voluntario
where id_coordinador is NULL
6. Muestre los datos de los distribuidores internacionales que no tienen registrado teléfono.
(P)
select *
from unc_esq_peliculas.distribuidor
where telefono is null
7. Muestre los apellidos, nombres y mails de los empleados con cuentas de gmail y cuyo
sueldo sea superior a $ 1000. (P)
select apellido, nombre, e_mail, sueldo
from unc_esq_peliculas.empleado
where e_mail like '%@gmail%' and sueldo > 1000
8. Seleccione los diferentes identificadores de tareas que se utilizan en la tabla empleado. (P)
select id_tarea
from unc_esq_peliculas.empleado
9. Muestre el apellido, nombre y mail de todos los voluntarios cuyo teléfono comienza con
+51. Coloque el encabezado de las columnas de los títulos 'Apellido y Nombre' y 'Dirección
de mail'. (V)
select apellido || ', ' || nombre AS "APELLIDO Y NOMBRE", e_mail as "DIRECCION DE MAIL"
from unc_esq_voluntario.voluntario
where telefono like '+51%'
10. Hacer un listado de los cumpleaños de todos los empleados donde se muestre el nombre y
el apellido (concatenados y separados por una coma) y su fecha de cumpleaños (solo el
día y el mes), ordenado de acuerdo al mes y día de cumpleaños en forma ascendente. (P)
select nombre || ', ' || apellido as "Nombre y Apellido",
extract(DAY FROM fecha_nacimiento) || ' - ' ||
extract(MONTH FROM fecha_nacimiento) AS "Dia - Mes"
from unc_esq_peliculas.empleado as e
order by extract(MONTH FROM fecha_nacimiento) asc,
extract(DAY FROM fecha_nacimiento) asc;
2
[Link]-UNICEN Práctico N° 4 Parte 1 Cursada 2023
Consultas SQL - Consultas Simples
11. Recupere la cantidad mínima, máxima y promedio de horas aportadas por los voluntarios
nacidos desde 1990. (V)
select max(horas_aportadas) as "MAXIMO",
min(horas_aportadas) as "MINIMO",
avg(horas_aportadas) as "PROMEDIO"
from unc_esq_voluntario.voluntario
where extract(YEAR FROM fecha_nacimiento) >= 1990;
12. Listar la cantidad de películas que hay por cada idioma. (P)
select count(*) Cantidad, idioma
from unc_esq_peliculas.pelicula
group by idioma
order by idioma;
13. Calcular la cantidad de empleados por departamento. (P)
select count(*) Cantidad, id_departamento
from unc_esq_peliculas.empleado
group by id_departamento
order by Cantidad;
14. Mostrar los códigos de películas que han recibido entre 3 y 5 entregas. (veces entregadas,
NO cantidad de películas entregadas).
select codigo_pelicula as "PELICULA", cantidad
from unc_esq_peliculas.renglon_entrega
where cantidad >= 3 and cantidad <=5;
15. ¿Cuántos cumpleaños de voluntarios hay cada mes?
select count(*) Cantidad, extract(month from fecha_nacimiento) as "Mes"
from unc_esq_voluntario.voluntario
group by "Mes"
order by "Mes" asc;
RESULTADO: 43
16. ¿Cuáles son las 2 instituciones que más voluntarios tienen?
select count(*) Cantidad_Voluntarios, id_institucion
from unc_esq_voluntario.voluntario
group by id_institucion
order by Cantidad_Voluntarios desc
limit 2;
17. ¿Cuáles son los id de ciudades que tienen más de un departamento?
3
[Link]-UNICEN Práctico N° 4 Parte 1 Cursada 2023
Consultas SQL - Consultas Simples
FIGURA 1
FIGURA 2
4
[Link]-UNICEN Práctico N° 4 Parte 1 Cursada 2023
Consultas SQL - Consultas Simples