Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Consulta 01: Mostrar el título y código de cada libro con su respectivo nombre de encargado y descripción
de género.
SELECT Titulo,CodigoLibro,Nombre,Descripcion
FROM tblLibro INNER JOIN tblEncargado
ON tblLibro.DNIEncargado=tblEncargado.DNI
INNER JOIN tblGenero
ON tblLibro.CodigoGenero=tblGenero.Codigo
ORDER BY CodigoLibro
Consulta 02: Mostrar la descripción de cada género con la cantidad de libros que tiene. Solo considerar los
libros que se adquirieron este año.
SELECT Descripcion,YEAR(FechaAdquisicion) AS FechaAdquisicionActual,COUNT(CodigoGenero) AS
Cantidad
FROM tblGenero INNER JOIN tblLibro
ON tblGenero.Codigo=tblLibro.CodigoGenero
WHERE YEAR(FechaAdquisicion)=2000
GROUP BY Descripcion,YEAR(FechaAdquisicion)
ORDER BY COUNT(CodigoGenero)
Consulta 03: Mostrar el título, nombre de encargado y género del primer libro adquirido.
SELECT TOP 1 Titulo,Nombre,Descripcion
FROM tblLibro INNER JOIN tblEncargado
ON tbllibro.DNIEncargado=tblEncargado.DNI
INNER JOIN tblGenero
ON tblLibro.CodigoGenero=tblGenero.Codigo
ORDER BY FechaAdquisicion
Consulta 04: Mostrar el título de los libros cuyo título termina en una vocal.
SELECT Titulo
FROM tblLibro
WHERE Titulo LIKE '%a' OR Titulo LIKE '%e' OR Titulo LIKE '%i' OR Titulo LIKE '%o' OR
Titulo LIKE '%u'
ORDER BY Titulo
Consulta 05: Mostrar el DNI y nombre de cada encargado con la cantidad de libros que tiene a su cargo.
SELECT DNI,Nombre,COUNT(CodigoLibro) AS Cantidad
FROM tblEncargado INNER JOIN tblLibro
ON tblEncargado.DNI=tblLibro.DNIEncargado
GROUP BY DNI,Nombre
ORDER BY Nombre
Consulta 06: Mostrar el código y descripción de los géneros que tienen más de 5 libros.
SELECT COUNT(CodigoLibro) AS Cantidad,Descripcion
FROM tblLibro INNER JOIN tblGenero
ON tblLibro.CodigoGenero=tblGenero.Codigo
GROUP BY Descripcion
HAVING COUNT(CodigoLibro)<5
ORDER BY COUNT(CodigoLibro)
Consulta 07: Mostrar el título, fecha de adquisición y nombre de encargado de los libros registrados entre
abril y septiembre del 2021.
SELECT Titulo,FechaAdquisicion,Nombre
FROM tblLibro INNER JOIN tblEncargado
ON tblLibro.DNIEncargado=tblEncargado.DNI
WHERE YEAR(FechaAdquisicion)=2021 AND MONTH(FechaAdquisicion)=04 or
MONTH(FechaAdquisicion)=09
GROUP BY Titulo,FechaAdquisicion,Nombre
Script de creación de la base de datos:
USE master
CREATE DATABASE Biblioteca
GO
USE Biblioteca
CREATE TABLE tblEncargado
(
DNI CHAR(8) PRIMARY KEY,
Nombre VARCHAR(70) NOT NULL
)
GO