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. 2. Liste el código de la editorial, nombre y la cantidad de libros que tiene en el registro de la librerí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%.
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%.
5.
Liste el código de autor, y la suma de los precios de los libros que le pertenecen.
6. Liste el código de autor, y la suma de los precios de los libros que le pertenecen, mostrando solo aquellos donde la suma de sus precios sea menor a 40.000 pesos.
Desarrollo Primero aclararemos que las tablas serán “LIBROS”, “EDITORIAL” y “ AUTOR”1- Al listar el código del autor y nombre que están en la tabla AUTOR y además listar la cantidad de libros que tiene el autor en el registro de la librería que está en la tabla LIBROS, sería como sigue: Select CODIGO_AUTOR, NOMBRE, (Select Count (CODIGO_LIBRO) From LIBROS Where AUTOR.CODIGO_AUTOR = LIBROS.CODIGO_AUTOR) From AUTOR;
Resultado:
Muestra la columna CODIGO_AUTOR y NOMBRE del autor d e la tabla AUTOR y la columna Cantidad de Libros del Autor procedente de la tabla LIBROS.
2- Para listar el código de la editorial y nombre de la tabla EDITORIAL y además la cantidad de libros que tiene el autor en el registro de la librería seria como sigue: Select CODIGO_EDITORIAL, NOMBRE, (Select Count (CODIGO_LIBRO) From LIBROS Where AUTOR.CODIGO_AUTOR = LIBROS.CODIGO_AUTOR) From EDITORIAL;
Resultado:
Muestra la columna CODIGO_EDITORIAL y NOMBRE de la Editorial de la tabla EDITORIAL y la columna Cantidad de Libros del Autor procedente de la tabla LIBROS.
3- Para listar el código del autor, código del libro, nombre, código de editorial y precio que se encuentran en la tabla LIBROS, pero que además tengan un descuento igual o mayor a 15%, sería como sigue: Select CODIGO_AUTOR, CODIGO_LIBRO, NOMBRE, CODIGO_EDITORIAL, PRECIO From LIBROS Where PORC_DESCUENTO >= 15;
Resultado:
Muestra todas las columnas de la tabla LIBROS p ero solo los registros mayores o igual a 15% de descuento.
4- Para listar el código de autor, código de editorial, código de libro, nombre y precios de aquellos que tengan un porcentaje de descuento menor a 20% de la tabla LIBROS, es como sigue. Select CODIGO_AUTOR, CODIGO_EDITORIAL, CODIGO_LIBRO, NOMBRE, PRECIO From LIBROS Where PORC_DESCUENTO <20;
Resultado:
Muestra todas las columnas de la tabla LIBROS p ero solo los registros menor a 20% de descuento.
5- Listar el código del autor y la suma de los precios de sus libros. Select LIBROS.CODIGO_AUTOR, Sum(PRECIOS) From Libros Group By NOMBRE;
Resultado:
Muestra de la tabla LIBROS, la sumatoria de precios de cada CODIGO_AUTOR
6- Listar el código del autor y la suma de los precios de los libros que le pertenecen y que su precio sea menor a 40.000 pesos. Select LIBROS.CODIGO_AUTOR, Sum(PRECIOS) From Libros Group By NOMBRE Having (PRECIO) < 40000;
Resultado:
Muestra de la tabla LIBROS, la sumatoria de precios de cada CODIGO_AUTOR menor a 40.000.
Bibliografía 1.- http://blog.nnatali.com/2010/01/07/sentencias-mysql-campos-de-varias-tablas-en-la-misma-query/ 2.- https://www.youtube.com/watch?v=hlTlhKxo4Ek 3.- http://m.sql.11sql.com/sql-funcion-having.htm 4.- Material entregado