Actividad 5- crear tablas a partir de otras
Para esta actividad vamos a aprender crear tablas a partir de otras tablas haciendo consultas, lo primero que debemos tener en cuenta es que hay unos pasos para estas creaciones por lo que debemos hacer un análisis. En el análisis debemos primero darle nombre a la tabla, después ver que campos afecta, si existe condición y luego la sintaxis
Vamos a crear una tabla a partir de la tabla primer_ejercicio con las diferentes áreas que pertenecen los libros.
Análisis:
1. que nombre le daremos a la nueva tabla
ejemploarea para este caso.
2. que campos( contienen al información solicitada) y de que tabla
campo: detallerarea.
tabla: primer_ejercicio.
3. diseñar la sintaxis mysql.
Primero vamos a ver cuales son las áreas:
select detalleArea from primer_ejercicio;
¿Que debemos hacer para que no se repitan las áreas. ?
Debemos usar el comando distinct.
Entonces vamos a mostrarlas otra ves.
select distinct detalleArea from primer_ejercicio;

vemos que solo aparece una de cada materia. Entonces ahora si vamos a crear la tabla con la consulta
create table ejemplararea select distinct detalleArea as nombre from primer_ejercicio;
(Con esto estamos creando la tabla con la consulta )
ahora vamos a ver el contenido de la tabla
select * from ejemplararea;

realizar una consulta que muestre la cantidad de libros por área
select detalleArea as nombre, count(*) as cantidad from primer_ejercicio group by detalleArea;

crear una tabla nueva a partir de la tabla primer ejercicio que visualice el valor total de los libros de cada área y debe llevar por nombre calor totallibros.
create table valortotal select detalleArea, sum(valor) 'valor total' from primer_ejercicio group by detalleArea;

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.
ejercicio
crear una tabla a partir de una consulta que visualice la cantidad de libros por áreas
Analisis:
1. que nombre le daremos a la tablas
cantidadempleres
2. que campos(campos contiene la información solicitada) y de que tablas
Campos: detalleArea.
Tabla: primer_ejercicio.
3. Diseñar la sintaxis mysql
realizar una consulta que visualice el numero d ejemplares por área.
select distic detallearea as nombre, count(*) as cantidad from primer_ejercicio group by detallearea;

teniendo la consulta correcta entonces vamos a crear la tabla.
create table cantidadEjemplares select distinct detallearea as nombre, count(*) as cantidad from primer_ejercicio group by detallearea;
con esta instrucción hemos creado la nueva tabla visualizamos
show tables;

Procedemos a ver entonces que quedo en la nueva tabla
select * from cantidadEjemplares;

CREAR TABLAS A PARTIR DE OTRAS TABLAS (CREATE - INSERT - JOIN)
Vamos a ver que tiene la tabla ejemplar;
select * from ejemplar;

Tambien vamos a ver que contiene la tabla area;
select * from area;

Tambien podemos realizar una consulta con JOIN
Realizar una consulta que visualice el numero de ejemplares por area.
para este ejercicio intervienen la tablas ejemplar y la tabla area con el campo codArea y su descripcion entonces ya sabemos con que podemos trabajar.
select a.descripcion, count(*) as cantidad from ejemplar as e join area as a on e.codArea= a.codArea group by a.descripcion;

ahora vamos a crear la tabla con la consulta pero vamos a realizar el análisis
1. ¿Que nombre le daremos a la tabla ?
numerodeejemplaresporarea
2. ¿De que campos( campos contiene la información solicitada) y de que tablas ?
Campos: descripción.
Tablas: área.
3. ¿Que tablas están involucradas y como se relacionan ?
Tablas: area y ejemplar
Relacion: ejemplar.codarea= area.codarea.
4. Diseño de la sintaxis
create table numerodeejemplaresporareas select a.descripcion,count(*) as cantidad from ejemplar as e join area as a on e.codarea=a.codarea group by a.descripcion;

hagamos una consulta para ver la información en la tabla.
select * from numerodeejemplaresporarea;

Inserte en la tabla ejemplar el registro 8, el cual le pertenece al libro BD II, cuya área es informática, con valor de 45000 y un numero de paginas de 120. Busque el valor del código del área en la tabla área cuando la descripción corresponda a informática.
Para esta ejercicio vamos a realizar el análisis, pero primero vamos a ver los campos de esta tabla
describe ejemplar;

Análisis
1.¿En que tablas se van a insertar los datos ?
En la tabla ejemplar.
2. ¿Que condición existe?
Que la descripción=informática
3. ¿Que tablas intervienen en la inserción ?
Las tablas área y la tabla ejemplar
4. Creación de la sintaxis
insert into ejemplar(id,nombre,codarea,valor,nropag) select '8','BD II', codarea, 45000, 120 from area where descripcion='informatica';

ahora visualizamos la tabla de nuevo para ver la modificación.
select * from ejemplar;
