Está en la página 1de 6

SQL: lenguaje para la definición, manipulación y control de bases de datos relacionales III

Ronald Galarza

Fundamentos Base de datos

Instituto IACC

15-12-2019
Desarrollo

Fase I: Se tienen las siguientes tablas que registran para una librería los datos de los libros, así

como los datos de la editorial y autor.

Según los datos anteriormente mostrados, entregue las siguientes consultas, incluyendo las

subconsultas en la cláusula que considere adecuada:


1. Liste el código del autor, nombre y la cantidad de libros que tiene en el registro de la

librería.

SELECT A.CODIGO_AUTOR, A.NOMBRE AS NOMBRE_AUTOR, (SELECT

COUNT(B.NOMBRE) FROM tb_libros B WHERE A.CODIGO_AUTOR =

B.CODIGO_AUTOR) AS CANTIDAD_LIBROS FROM tb_autor A

2. Liste el código de la editorial, nombre y la cantidad de libros que tiene en el registro de la

librería.

SELECT A.CODIGO_EDITORIAL, A.NOMBRE AS NOMBRE_AUTOR, (SELECT

COUNT(B.NOMBRE) FROM tb_libros B WHERE A.CODIGO_EDITORIAL =

B.CODIGO_EDITORIAL) AS CANTIDAD_LIBROS FROM tb_editorial A;

3. Liste el código de autor, código de libro, nombre, código de editorial y precio, de aquellos

libros que tengan un porcentaje de descuento igual o mayor al 15%.

SELECT A.CODIGO_AUTOR, A.CODIGO_LIBRO, A.NOMBRE, A.CODIGO_EDITORIAL,

A.PRECIO, FROM tb_libros A WHERE PORC_DESCUENTO >= 15;

4. Liste el código de autor, código de libro, nombre, código de editorial y precio, de aquellos

libros que tengan un porcentaje de descuento menor al 20%.

SELECT A.CODIGO_AUTOR, A.CODIGO_LIBRO, A.NOMBRE, A.CODIGO_EDITORIAL,

A.PRECIO, FROM tb_libros A WHERE PORC_DESCUENTO < 20;


5. Liste el código de autor, y la suma de los precios de los libros que le pertenecen.

SELECT A.CODIGO_AUTOR, (SELECT SUM(B.PRECIO) FROM tb_libros B WHERE

A.CODIGO_AUTOR = B.CODIGO_AUTOR) AS SUMA_PRECIO_POR_AUTOR FROM

tb_autor A;

6. Liste el código de autor, y la suma de los precios de los libros que le pertenecen,

mostrando sólo aquellos donde la suma de sus precios sea menor a 40.000 pesos.

SELECT A.CODIGO_AUTOR, (SELECT SUM(B.PRECIO) FROM tb_libros B WHERE

A.CODIGO_AUTOR = B.CODIGO_AUTOR) AS SUMA_PRECIO_POR_AUTOR FROM

tb_autor A WHERE (SELECT SUM(B.PRECIO) FROM tb_libros B WHERE

A.CODIGO_AUTOR = B.CODIGO_AUTOR) < 40000;

Fase II: Lea determinadamente y fundamente su respuesta:

1. Suponga que un Instituto Profesional tiene en su base de datos una tabla de

ESTUDIANTES (con los datos de estos), una de ASIGNATURAS_ESTUDIANTES

(con los datos de las asignaturas tomadas por cada estudiante y la calificación obtenida).

De acuerdo a este esquema, ¿cree usted que sea útil el SELECT con múltiples tablas?,

¿para qué caso lo utilizaría? Fundamente su respuesta.

R.- leyendo el contenido de la semana el comando SELECT no cumpliría con multiples

tablas ya que para unir las tablas tenemos INNER JOIN que nos permite unir las dos

tablas y asi poder generar una sola consulta.


2. Imagínese que la biblioteca de una Universidad tiene en su base de datos una tabla de

ESTUDIANTES (con los datos de estos), una de LIBROS_ESTUDIANTES (con los

datos de los libros solicitados por cada estudiante y la fecha de cada préstamo). De

acuerdo a este esquema, ¿cree usted que sea útil el SELECT con múltiples tablas?, ¿para

qué caso lo utilizaría? Fundamente su respuesta

R.- leyendo el contenido el commando SELECT no cumple con las multitablas ya que

es casi similar como el ejemplo anterior en este caso se esta hacienda una peticion a una

subconsulta que se esta reflejando la cantidad de libros que tiene cada estudiantes. En

este caso utilizaremos WHERE y BETWEEN que nos refleja las fechas de búsquedas

Bibliografía

Contenido semana 5,6 iacc 2019