Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Wuolah Free BD p3 Adicional Actualizada
Wuolah Free BD p3 Adicional Actualizada
Rooibos
Bases de Datos
# EJERCICIO 1
SELECT SUBSTR(v.nombreCompleto, 1, INSTR(v.nombreCompleto, ' ', 1, 1)-1) "NOMBRE
VOTANTE", l.nombre "LOCALIDAD", p.comunidad
FROM votantes v, localidades l, provincias p
WHERE v.localidad = l.idLocalidad AND l.provincia = p.idProvincia;
# EJERCICIO 2
SELECT l1.nombre || ' va antes que ' || l2.nombre "Ordenacion"
FROM localidades l1, localidades l2
WHERE l2.idLocalidad = l1.idLocalidad+1;
# EJERCICIO 3
-- Segundo votante de más edad
SELECT localidad
FROM votantes
WHERE fechaNacimiento = (SELECT MIN(fechaNacimiento)
FROM votantes
WHERE fechaNacimiento > (SELECT MIN(fechaNacimiento)
FROM votantes));
-- Localidades con más habitantes que los habitantes de la localidad del segundo votante de
más edad
SELECT l.nombre
FROM localidades l
WHERE l.numeroHabitantes > (SELECT numeroHabitantes
FROM localidades
WHERE idLocalidad = (SELECT localidad
FROM votantes
WHERE fechaNacimiento = (SELECT MIN(fechaNacimiento)
FROM votantes
WHERE fechaNacimiento > (SELECT MIN(fechaNacimiento)
FROM votantes))));
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-9380491
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
# EJERCICIO 4
--Supongamos mayoría de edad 30 años, ya que en la BD son todos mayores de 18
SELECT v.nombreCompleto, v.localidad, DECODE((SELECT 1
FROM votantes
WHERE dni = v.dni AND
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
(sysdate-fechaNacimiento)/365 > 30),
1, 'mayor edad', 'menor edad') "mayoria edad"
FROM votantes v
WHERE v.localidad IN(2,4,8)
ORDER BY 3
# EJERCICIO 5
SELECT l.nombre "LOCALIDAD", l.numeroHabitantes, p.comunidad
FROM localidades l, provincias p
WHERE l.provincia = p.idProvincia
AND l.provincia IN(1, 2, 3)
AND l.numeroHabitantes > ANY(SELECT numeroHabitantes
FROM localidades
WHERE provincia = 4);
# EJERCICIO 6
-- Participaciones medias
SELECT AVG(COUNT(votante)) "PARTICIPACIONES MEDIAS"
FROM consultas
GROUP BY votante;
-- Solución
SELECT v.nombreCompleto
FROM votantes v, consultas c
WHERE v.dni = c.votante
HAVING COUNT(*) < (SELECT AVG(COUNT(votante))
FROM consultas
GROUP BY votante)
GROUP BY v.nombreCompleto;
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-9380491
Banco de apuntes de la
# EJERCICIO 7
-- Media de estudiosSuperiores
-- Media de estudiosSuperiores
SELECT AVG(DECODE(v.estudiosSuperiores, 'Ninguno', 0, 'Basicos', 1, 'Superiores', 2,
'Doctorado', 3)) "ESTUDIOSSUPERIORES"
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.
FROM votantes v, localidades l
WHERE v.localidad = l.idLocalidad;
# EJERCICIO 8
-- Estudios superiores medio de localidades
SELECT AVG(DECODE(v.estudiosSuperiores,
'Ninguno', 0, 'Basicos', 1, 'Superiores', 2, 'Doctorado', 3)) "ESTUDIOSSUPERIORES"
FROM votantes v, localidades l
WHERE v.localidad = l.idLocalidad
GROUP BY l.idLocalidad;
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-9380491
a64b0469ff35958ef4ab887a898bd50bdfbbe91a-9380491
Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad.