Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --1. Películas en las que alguno de sus actores participantes también ha sido el director de la película (titulo,
- --director), ordenado por director.
- SELECT titulo, director
- FROM participa par, pelicula peli
- WHERE par.pelicula = peli.titulo AND peli.director = par.actor
- ORDER BY director;
- --3. Actores (actor) que han participado en más de dos películas del director ‘WOODY ALLEN’, ordenados
- --alfabéticamente
- SELECT actor
- FROM participa
- WHERE pelicula IN(SELECT titulo
- FROM pelicula
- WHERE director = 'WOODY ALLEN')
- GROUP BY actor
- HAVING COUNT(*)>2
- ORDER BY actor;
- --5. Para cada socio indicar la nacionalidad (nombre, teléfono, nacionalidad) más común entre las
- --películas que ha alquilado, las haya devuelto o no. Es decir, si un socio suele alquilar más películas
- --españolas que de cualquier otra nacionalidad, debe aparecer su nombre y teléfono junto con la
- --nacionalidad ‘ESPAÑA’. Ordenado por nombre de socio.
- SELECT nombre, telefono, nacionalidad
- FROM socio soci, (SELECT todos.socio, todos.nacionalidad
- FROM (SELECT socio, nacionalidad, COUNT(*) cuenta2
- FROM alquiler alq, pelicula peli
- WHERE alq.pelicula = peli.titulo
- GROUP BY socio, nacionalidad) todos,
- (SELECT socio, MAX(cuenta)abc
- FROM(
- SELECT socio, nacionalidad, COUNT(*) cuenta
- FROM alquiler alq, pelicula peli
- WHERE alq.pelicula = peli.titulo
- GROUP BY socio, nacionalidad)
- GROUP BY socio) mayores
- WHERE todos.socio = mayores.socio AND mayores.abc = todos.cuenta2) resultado
- WHERE soci.dni = resultado.socio
- ORDER BY nombre;
- --7. Socios (dni, nombre) que han alquilado todas las películas de la actriz ‘CECILIA ROTH’
- SELECT dni, nombre
- FROM socio
- WHERE dni IN( SELECT socio
- FROM( SELECT DISTINCT alq.socio, alq.pelicula
- FROM participa par,alquiler alq
- WHERE actor = 'CECILIA ROTH' AND par.pelicula = alq.pelicula)
- GROUP BY socio
- HAVING COUNT(*) = (SELECT COUNT(*)
- FROM participa
- WHERE actor = 'CECILIA ROTH'));
- --9. Socios avalistas de aquellos socios que no han devuelto alguna de las películas que tienen en alquiler
- --(nom_avalista, tel_avalista, nom_socio). Para aquellos socios que no tengan avalista, mostrar la
- --cadena ‘*SIN AVAL*’ en la columna nom_avalista. Ordenado por nom_socio..
- SELECT NVL(avalis.NOMBRE,'*SIN AVAL*') NOM_AVALISTA, NVL(avalis.telefono,' ') TEL_AVALISTA, avalado.nombre NOM_SOCIO
- FROM (socio avalado LEFT OUTER JOIN socio avalis ON avalado.avalista = avalis.dni)
- WHERE avalado.dni IN(
- SELECT DISTINCT socio
- FROM alquiler
- WHERE devolucion = 'NO')
- ORDER BY avalado.nombre
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement