CREATE TABLE autores (
id_autor INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100) NOT NULL,
nacionalidad VARCHAR(50)
);
CREATE TABLE libros (
id_libro INT AUTO_INCREMENT PRIMARY KEY,
titulo VARCHAR(200),
id_autor INT,
fecha_publicacion DATE,
FOREIGN KEY (id_autor) REFERENCES autores(id_autor)
);
CREATE TABLE usuarios (
id_usuario INT AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(100),
correo VARCHAR(100) UNIQUE,
fecha_registro DATE
);
CREATE TABLE prestamos (
id_prestamo INT AUTO_INCREMENT PRIMARY KEY,
id_usuario INT,
id_libro INT,
fecha_prestamo DATE,
fecha_devolucion DATE,
FOREIGN KEY (id_usuario) REFERENCES usuarios(id_usuario),
FOREIGN KEY (id_libro) REFERENCES libros(id_libro)
);
INSERT INTO autores (nombre, nacionalidad) VALUES
('JAMES RODRIGUEZ', 'COLOMBIA'),
('LUIS DIAZ', 'COLOMBIA'),
('LIONEL MESSI', 'ARGENTINA'),
('CRISTIANO RONALDO', 'PORTUGAL'),
('NEYMAR JR', 'BRASIL');
INSERT INTO usuarios (nombre, correo, fecha_registro) VALUES
('LIAM', 'liam.pro@email.com', '2026-05-05'),
('EMMA ', 'emma.contact@email.com', '2026-05-08'),
('NOAH ', 'noah.dev@email.com', '2026-05-21'),
('MIA ', 'mia.info@email.com', '2026-05-07'),
('ENZO ', 'enzo.office@email.com', '2026-05-08');
INSERT INTO libros (titulo, id_autor, fecha_publicacion) VALUES
('EL ECO DE LOS MUNDOS ROTOS ', 1, '2026-05-13'),
('CRONICAS DEL RELOJ DE ARENA INVERSO ', 2, '2026-05-22'),
(' LACIUDAD DEBAJO DEL VIENTO ', 3, '2026-05-08'),
('LACIUDAD DEBAJO DEL VIENTO ', 4, '2026-05-19'),
('LACIUDAD DEBAJO DEL VIENTO', 5, '2026-05-04');
INSERT INTO prestamos (id_usuario, id_libro, fecha_prestamo, fecha_devolucion) VALUES
(1, 2, '2026-05-02', '2026-05-09'),
(4, 3, '2026-05-05', '2026-05-16'),
(5, 5, '2026-05-07', '2026-05-18'),
(1, 3, '2026-05-08', '2026-05-18'),
(5, 4, '2026-05-12', '2026-05-22');
SELECT * FROM autores;
SELECT * FROM autores WHERE nacionalidad = 'Colombia';
SELECT COUNT(*) AS total_autores FROM autores;
SELECT titulo, fecha_publicacion
FROM libros
WHERE fecha_publicacion < '2000-01-01';
SELECT libros.titulo, autores.nombre AS autor
FROM libros
JOIN autores ON libros.id_autor = autores.id_autor;
SELECT usuarios.nombre AS usuario, COUNT(prestamos.id_prestamo) AS total_prestamos
FROM prestamos
JOIN usuarios ON prestamos.id_usuario = usuarios.id_usuario
GROUP BY usuarios.nombre;
SELECT libros.titulo
FROM libros
LEFT JOIN prestamos ON libros.id_libro = prestamos.id_libro
WHERE prestamos.id_libro IS NULL;
To embed this project on your website, copy the following code and paste it into your website's HTML: