Sunteți pe pagina 1din 8

Subconsultas en SQL

Fundamentos de Base de Datos


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 código_autor, nombre, (select count (Codigo libro) from librería where autor.

codigo_autor=librería.codigo _autor)

from autor;

CODIGO AUTOR NOMBRE CANTIDAD LIBROS

0001 LUIS JOYANES 5

0002 CATERINA VELASQUEZ 4

0003 CARMEN GIL 1

0004 ALVARO GOMEZ 3

0005 LUIS ANGULO 1

0006 ANA MARIA VILLAR 5


2. Liste el código de la editorial, nombre y la cantidad de libros que tiene en el registro de la
librería.
Select codigo_editorial, nombre, (select count (código libro) from librería where
Libros where. Autor.codigo_autor=librería.codigo_autor)
from editorial;

CODIGO EDITORIAL NOMBRE CANTIDAD LIBROS


0001 BONUM 4
0002 SIRIO 2
0003 BIBLIOGRAFIA 1
0004 GRUPO EDITORIAL 2
0005 MCGRAW-HILL 2
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 codigo_autor, codigo_libro, nombre, codigo_editorial, precio
from librería
where porc_descuento >=15;

CODIGO CODIGO NOMBRE CODIGO PRECIO POR_DESCUENTO


AUTOR LIBRO EDITORIAL
0001 0004 HARDWARE 0001 26.700,25 25
0002 0005 INTRODUCCION A 0003 36.000,87 30
LOS ALGORITMOS
0002 0006 INTRODUCCION A 0003 52.100,17 40
LAS BASES…..
0003 0007 FUNDAMENTOS DE 0001 46.500,29 15
PROGRAMAC
0004 0009 ADMINISTRACION 0005 35.500.41 20
DE BASE DE DATOS
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 codigo_autor, codigo_libro, nombre, codigo_editorial, precio
from librería
where porc_descuento <20;
CODIGO CODIGO NOMBRE CODIGO PRECIO POR_DESCUENTO
AUTOR LIBRO EDITORIAL
0001 0001 SOLUCIONES DE 0001 45.200,16 10
PROGRAMACION
0001 0002 GUIA COMPLETA DE 0001 33.520,52 5
PROGRAMACION
0001 0003 INTRODUCCION A 0003 51.000,33 0
LA INFORMATICA
0003 0007 FUNDAMENTOS DE 0001 46.500,29 15
PROGRAMAC
0003 0008 COMO PROGRAMAR 0002 48.000,33 10
EN JAVA
0005 0010 ESTRUCTURAS DE 0002 29.200,27 5
DATOS
0005 0011 BASE DE DATOS 0003 32.000,39 0
0006 0012 INTRODUCION A 0001 46.500,14 10
NET

5. Liste el código de autor, y la suma de los precios de los libros que le pertenecen.
select codigo_autor, sum(precio) from librería
group by codigo_autor
CODIGO_AUTOR PRECIO
0001 156.412,26
0002 88.101,04
0003 94.500,62
0004 36.500,41
0005 61.200,66
0006 46500,14
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 codigo_autor, sum(precio)
From librería Group by codigo_autor
Having count(precio)<40000;

CODIGO_AUTOR PRECIO
0004 36.500,41

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
Claro que sí, puesto que nos permitiría poder vincular diferentes tablas y la utilizaría para
poder tener la cantidad de asignatura por cada estudiante

Select rut, nombre, apellido_paterno, apellido_materno, (select count(CODIGO LIBRO)


from Asignaturas_estudiantes where cod_estudiante.estudiantes=
Cod_estudiante.asignatura_estudiantes) from estudiantes
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

Si de todas maneras así poder vincular las tablas mencionadas


Por ejemplo:
Select rut, nombre, apellido_paterno, apellido_materno, (select count(CODIGO LIBRO)
from Libros_estudiantes, where
cod_estudiantes.estudiantes=cod_estudiante.libros_estudiantes)From estudiantes
Bibliografía

-GUIA SEMANA 6 IACC

S-ar putea să vă placă și