Está en la página 1de 3

SELECT * FROM prestamos WHERE fecha_prestamo = '2023-05-20';

SELECT p.Nombre AS NombrePelicula, s.Nombre AS NombreSocio

FROM PRESTAMOS pr

JOIN PELICULAS p ON pr.RefPelicula = p.RefPelicula

JOIN SOCIOS s ON pr.DNI = s.DNI;

SELECT p.RefPelicula, p.Nombre, p.Genero, p.Director, pr.FechaPrestamo

FROM Peliculas p

INNER JOIN Prestamos pr ON p.RefPelicula = pr.RefPelicula

ORDER BY pr.FechaPrestamo ASC;

SET SERVEROUTPUT ON -- Habilitar la salida de DBMS_OUTPUT

DECLARE

prestamo PrestamoType;

dni_prestamo VARCHAR2(10) := 'AC0001';

tiquete NUMBER := 456;

descuento_val NUMBER;

BEGIN

prestamo := PrestamoType('AC0001', 'REF123', '27/01/2012', 700);

descuento_val := prestamo.descuento(tiquete);

DBMS_OUTPUT.PUT_LINE('Descuento aplicado: ' || descuento_val);

END;

/
SELECT p.RefPelicula, p.Nombre, p.Genero, p.Director

FROM Peliculas p

INNER JOIN Prestamos pr ON p.RefPelicula = pr.RefPelicula

WHERE pr.DNI = '111-A';

SELECT s.DNI, s.Nombre, s.Direccion

FROM Socios s

INNER JOIN Prestamos p ON s.DNI = p.DNI

WHERE p.Importe > 400;

SELECT P.Nombre AS Pelicula, COUNT(PR.DNI) AS TotalPrestamos, AVG(PR.Importe) AS


PromedioImporte

FROM PELICULAS P

LEFT JOIN PRESTAMOS PR ON P.RefPelicula = PR.RefPelicula

GROUP BY P.Nombre

HAVING COUNT(PR.DNI) > 0

ORDER BY PromedioImporte DESC;

DECLARE

prestamo PrestamoType;

descuento_val NUMBER(7,1);

BEGIN

prestamo := PrestamoType('111-A', 'CF-1', '18/10/01', 350);

descuento_val := prestamo.descuento(1); -- Pasar el código de tiquete como argumento

DBMS_OUTPUT.PUT_LINE('Descuento: ' || descuento_val);

END;
SELECT pelicula_id, COUNT(*) AS cantidad_prestamos

FROM prestamos

GROUP BY pelicula_id

ORDER BY cantidad_prestamos DESC

LIMIT 10;

También podría gustarte