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
('SAMUEL', 'COLOMBIA'),
('MIGUEL', 'ESPAÑA'),
('FLOR', 'DINAMARCA'),
('BOSCO', 'FRANCIA'),
('LUZ', 'ZELANDA');
INSERT INTO usuarios (nombre, correo, fecha_registro) VALUES
('JUAN', 'JUNA@GMAIL.COM', '2026-05-11'),
('MARÍA', 'MARIA@GMAIL.COM', '2026-05-18'),
('PEDRO', 'PEDRO@GMAIL.COM', '2026-05-18'),
('LAURA', 'LAURA@GMAIL.COM', '2026-05-25'),
('ANDRÉS', 'ANDRES@GMAIL.COM', '2026-02-09');
INSERT INTO libros (titulo, id_autor, fecha_publicacion) VALUES
('LA SOMBRA DEL ÚLTIMO AMANECER', 1, '2017-05-10'),
('ECOS DE UN CORAZÓN PERDIDO', 2, '2026-05-11'),
('EL SECRETO BAJO LA LUNA ROJA', 3, '2020-04-28'),
('DONDE MUEREN LOS SUEÑOS', 4, '2026-05-13'),
('EL GUARDIÁN DE LOS SILENCIOS', 5, '1999-07-20');
INSERT INTO prestamos (id_usuario, id_libro, fecha_prestamo, fecha_devolucion) VALUES
(1, 2, '2026-05-01', '2026-05-02'),
(2, 3, '2026-03-11', '2026-05-02'),
(5, 3, '2026-01-19', '2026-05-09'),
(2, 1, '2026-05-09', '2026-04-30'),
(4, 5, '2026-03-16', '2026-05-02');
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: