Comando Join

El comando JOIN en mysql, sirve para combinar dos o mas tablas según las designaciones de variables que queremos o necesitamos.

unión entre varias tablas, devuelve la información que encuentra esa unión

Sintaxis

select * from Tabla_1  inner join tabla_2 on tabla_1.id = tabla_2.id  inner join  tabla_3 on tabla_2.id2 = tabla_3.id3

Visualizar el código del libro, el nombre del libro, el código del autor y el nombre del autor con sus respectivos libros escritos

select distinct libro.idlibro,libro.descripcion,autor.codautor,autor.nombre from libro inner join liautedi on libro.idlibro = liautedi.idlibro inner join autor on liautedi.codautor=autor.codautor;

Exportar a excel la consulta

into outfile 'c:/xampp/libroautorjoin.xls'

select distinct libro.idlibro,libro.descripcion,autor.codautor,autor.nombre from libro inner join liautedi on libro.idlibro = liautedi.idlibro inner join autor on liautedi.codautor=autor.codautor into outfile 'c:/xampp/libroautorjoin.xls';

Análisis

Que se desea consultar y de que tablas?

libro.idlibro

libro.descripcion

autor.codautor

autor.nombre

Que tablas se ven afectadas o involucradas?

libro   -   autor   -   liautedi

Como se relacionan las tablas

libro.idlibro = liautedi.idlibro

autor.codacutor = liautedi.codautor

Que comando se debe utilizar

Select - Join

Visualizar los autores con las editoriales que les publican

select autor.nombre,editorial.nombre from autor inner join liautedi on autor.codautor = liautedi.codautor inner join editorial on editorial.codedit = liautedi.codedit;

Análisis

Que se desea consultar y de que tablas?

autor.nombre

editorial.nombre

Que tablas se ven afectadas o involucradas?

autor   -   liautedi   -   editorial

Como se relacionan las tablas

autor.codautor = liautedi.codautor

editorial.codedit = liautedi.codedit

Que comando se debe utilizar

Select - Join

El left join se utiliza para saber que registros no tienen correspondencia en otra tabla. Verifica de una tabla izquierda a una tabla derecha, si no encuentra coincidencia se genera una fila extra con todos los campos ceteados a NULL

Visualizar que libros no se les ha asignado un autor

select libro.idlibro,libro.descripcion,liautedi.idlibro from libro left join liautedi on libro.idlibro=liautedi.idlibro where liautedi.idlibro is null ;

Visualizar las asignaturas que no poseen libros

select asignatura.codigomat,asignatura.nombre,libro.codigomat from asignatura left join libro on asignatura.codigomat=libro.codigomat where libro.codigomat is null;

El right join opera del mismo modo que el left join solo que la búsqueda de coincidencias las realiza del modo contrario, es decir busca valores de coincidencias desde la tabla de la derecha hacia la tabla de la izquierda y sucede lo mismo que en el left, sino encuentra coincidencias se genera una fila extra con todos los campos ceteados en null

Visualizar el listado de los libros que tienen al menos un autor asignado

select distinct libro.descripcion,libro.idlibro from libro right join liautedi on libro.idlibro=liautedi.idlibro where libro.idlibro is not null;

Otra forma select distinct libro.descripcion,libro.idlibro,liautedi.idlibro from libro right join liautedi on libro.idlibro=liautedi.idlibro;


Group by

Agrupar información

select * from Nom_tabla gropu by Nom_campo

select * from estudiantes gropu by Nom-EE;

Usando las funciones (Count,min,max,sum,avg)

Visualizar las cantidades de visitantes por ciudad

select nombre_campo(s), funcion(campo_funcion) as nombre_deseado from Nom_tabla group by Nom_campo;

select ciudad ,count (montocompra) 'cantidad visitantes' from visitantes group by ciudad;

Análisis

Que se desea consultar

Ciudad

Campo en el que se aplica la función

Montocompra

Campo por el cual va a agrupar

Ciudad

Comando y función 

Group by  -  count

Comando

Group by

Visualizar el total comprado por ciudad

select ciudad,sum(montocompra) 'El total comprado por ciudad es' from visitantes group by ciudad;

Análisis

Que se desea consultar

Ciudad

Campo en el que se aplica la función

montocompra

Campo por el cual va a agrupar

ciudad

Comando y función

Group by - sum

Group by

Visualizar el monto de compra por sexo

select sexo,sum(montocompra) 'gasto por sexo' from visitantes group by sexo;

Análisis

Que se desea consultar

sexo

Campo en el que se aplica la función

montocompra

Campo por el cual va a agrupar

sexo

Comando y función

Group by - sum

Comando

Group by

visualizar las ciudades a las que van mas de dos visitantes

Nota: Cuando utilizamos group by y se manejan condiciones estas no funcionan con where sino con la opción having

select ciudad,count(ciudad) 'cantidad de visitantes' from visitantes group by cuidad having count(ciudad) > 2;

Análisis

Que se desea consultar

ciudad

Campo en el que se aplica la función

Ciudad

Campo por el cual va a agrupar

ciudad

Comando y función

Group by - count

Comando

Group by

Calcular el valor promedio de montocompra agrupados por ciudad y sexo

select ciudad,sexo,avg(montocompra) 'gasto por sexo' from visitantes group by ciudad,sexo;

Análisis

Que se desea consultar

ciudad - sexo

Campo en el que se aplica la función

montocompra

Campo por el cual va a agrupar

ciudad - sexo

Comando y función

Group by -  avg

Comando

Group by

Visualizar el monto por ciudad mayores a 5 millones

select ciudad,sum(montocompra) 'el monto mayor a 5 millones' from visitantes group by montocompra having sum(montocompra)>5000000

Análisis

Que se desea consultar

ciudad

Campo en el que se aplica la función

montocompra

Campo por el cual va a agrupar

ciudad

Comando y función 

Group by - sum

Comando

Group by

© 2018 Compás Lab S.L,  P° de la Castellana 79, Madrid, 28046
Creado con Webnode
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar