Actividad 6
Creación de Tablas a Partir de Otras
a. Crear tabla a partir de otra (Create - Insert)
b. Crear tabla a partir de otra (Create - Insert - Join) (varias tablas)
c. Insertar datos en una tabla buscando un valor en otra (Insert - select)
A) Crear tabla a partir de otra (Create – Insert)
Crear una tabla a partir de la tabla primer_ejercicio con las diferentes areas a a las que pertenecen los libros
ANALISIS
1. que nombre le daremos a la nueva tabla
ejemplararea
2. que campo(campos conitiene la inforamcion solicitada) y de que tabla
Campo: DetalleArea
Tabla: primer_ejercicio
3. diseñar la sintaxis mysql
select distinct detallearea from primer_ejercicio;
Se crea la consulta en una nueva tabla:
create table ejemplararea
-> select distinct detallearea AS 'nombre' from primer_ejercicio;
crear una tabla a partir de una consulta que visualice la cantidad de libros por Area
ANALISIS
1. que nombre le daremos a la nueva tabla
cantidadejemplares
2. que campo(campos conitiene la inforamcion solicitada) y de que tabla
Campo: DetalleArea
Tabla: primer_ejercicio
3. diseñar la sintaxis mysql
select DetalleArea as nombre, count(*) as cantidad
from primer_ejercicio
group by DetalleArea;
Se crea la tabla cantidadejemplares con la consulta respectiva:
create table cantidadejemplares
select DetalleArea as nombre, count(*) as cantidad
from primer_ejercicio
group by DetalleArea;
Ejercicio: Crear una nueva tabla a partir de la tabla primer_ejercicio que visualice el valor total de los libros de cada àrea y debe llevar por nombre valor total libros
select detalleArea, sum(valor) 'Valor Total' from primer_ejercicio group by detalleArea;
Una vez realizado la consulta se crea la tabla:
create table valortotal select detalleArea, sum(valor) 'Valor Total' from primer_ejercicio group by detalleArea;
B) CREAR TABLA A PARTIR DE OTRA
(CREATE – INSERT - JOIN)
Realizar una consulta que visualice el numero de ejemplares por area:
select a.descripcion,count(*) from ejemplar as e join area as a on e.CodArea=a.CodArea
group by a.descripcion;
Crear una nueva tabla Con el comando create – insert - join
ANALISIS
1. que nombre le daremos a la nueva tabla
numerodeejemplaresporarea
2. que campo(campos conitiene la inforamcion solicitada) y de que tabla
Campo: Descripcion
Tabla: Area
3. Que tablas estan involucradas en la consulta y como se relacionan
Tablas: Area y ejemplar
Relacion: ejemplar.CodArea=area.CodArea
4. diseñar la sintaxis mysql
Creamos la tabla numerodeejemplaresporarea:
create table numerodeejemplaresporarea select a.descripcion,count(*) as cantidad
from ejemplar as e join area as a on e.CodArea=a.CodArea group by a.descripcion;
C. Insertar datos en una tabla buscando un valor en otra (Insert – select)
Inserte en la tabla ejemplar el registro 8, el cual le pertenece al libro BD II, cuya area es informatica,con un valor de 45000 y un numero de paginas de 120. Busque el valor del código del area en la tabla area cuando la descripción corresponda a informatica.
Analisis
1. En que tabla se van a insertar los datos
ejemplar
2. que campo(campos conitiene la informacion solicitada) y de que tabla
Campo: Descripcion
Tabla: Area
3. Codicione(s) si las hay:
descripcion='informatica'
4. Que tablas estan involucradas en la insercion
Tablas: Area y ejemplar
4. diseñar la sintaxis mysql
insert into ejemplar(id,nombre,CodArea,valor,nropag)
select '8','BD II',CodArea,45000,120
from area
where descripcion='informatica';
Observamos la tabla ejemplar donde insertamos el dato