— ACTIVIDAD 7 —
OBJETIVOS:
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 DetalleArea from primer_ejercicio;
> Que se debe hacer para que no se repitan las areas:
- select distinct DetalleArea from primer_ejercicio;
> Se procede a crear la tabla asi:
- Create table ejemplararea select distinct DetalleArea as nombre from primer_ejercicio;
- select * from ejemplararea;
- show tables;
También se puede crear una tabla a partir de una consulta cargando los campos con los valores de otra tabla y una columna calculada.
> 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;
Procedimiento para Crear la Tabla:
- create table cantidadejemplares select DetalleArea as nombre, count(*) as cantidad from primer_ejercicio group by DetalleArea;
- select * from cantidadejemplares;
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
A continuación relaciono la consulta:
- 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;
- select * from valortotal;
B) CREAR TABLA A PARTIR DE OTRA (CREATE - INSERT - JOIN)
- select * from ejemplar;
- select * from area;
Podemos realizar una consulta con 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
- 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;
- select * from numerodeejemplaresporarea;
C. INSERTAR DATOS EN UNA TABLA BUSCANDO UN VALOR EN OTRA (Insert - select)
Procedimiento:
> 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 inserción
- 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';
COPIA ARCHIVO TXT: