{
En este ejemplo mostrare como ejecutar cruces entre tablas sql de tres maneras:Inner join
Con esta operación cada registro en la tabla A es combinado con los correspondientes de la tabla B que satisfagan las condiciones que se especifiquen en el predicado del JOIN. Cualquier registro de la tabla A o de la tabla B que no tenga uno correspondiente en la otra tabla es excluido, y solo aparecerán los que tengan correspondencia en la otra tabla. Este es el tipo de JOIN más utilizado, por lo que es considerado el tipo de combinación predeterminado.Mas informacion : WikipediaEl inner join básicamente cruza dos tablas mostrando únicamente los datos combinados aquí un ejemplo:select * from empleado t0inner join Departamento t1 on t0.iddep=t1.idwhere t1.Departamento like '%compras'id iddep nombre Genero id Departamento cantidad2 2 Rosa F 2 Compras 26 2 popo F 2 Compras 28 2 More F 2 Compras 29 2 Mageni M 2 Compras 210 2 HN M 2 Compras 2Ejecutando el sql pbtendriamos únicamente los empleados del departamento de comprasOuter Join
Mediante esta operación no se requiere que un registro en una tabla tenga un registro relacionado en la otra tabla. El registro es mantenido en la tabla combinada aunque no exista el correspondiente en la otra tabla.Existen tres tipos de combinaciones externas, el Left Join, el Right Join y el Full Join, donde se toman todos los registros de la tabla de la izquierda, o todos los de la tabla derecha, o todos los registros respectivamente.Más informacion: WikipediaEl outer join sirve para mostrar todo el contenido definiendo primeramente que lado tomar en cuenta para hacerlo.Por ejemplo mostremos datos de todos los empleados que forman parte del departamento de comprasCon left nos toma todos los datos de empleado sin importar que no pertenezca al departamento:select * from empleado t0 left outer join Departamento t1 on t0.iddep=t1.idid iddep nombre Genero id Departamento cantidad1 1 Carlos M 1 IT 12 2 Rosav F 2 Compras 25 1 Qwerty F 1 IT 16 2 popo F 2 Compras 27 1 Rosa F 1 IT 18 2 More F 2 Compras 29 2 Mag M 2 Compras 210 2 HN M 2 Compras 211 NULL Anonimo NULL NULL NULL NULLCon right nos toma todos los datos del departamento sin importar que ningún empleado pertenezca al departamento:select * from empleado t0 right outer join Departamento t1 on t0.iddep=t1.idid iddep nombre Genero id Departamento cantidad1 1 Carlos M 1 IT 15 1 Qwerty F 1 IT 17 1 Rosa F 1 IT 12 2 Rosa lv F 2 Cos 26 2 popo F 2 Coas 28 2 More F 2 Coras 29 2 Magen M 2 Coras 210 2 HN M 2 Coras 2NULL NULL NULL NULL 3 Bodega NULLCross join
El CROSS JOIN presenta el producto cartesiano de los registros de las dos tablas. La tabla resultante tendrá todos los registros de la tabla izquierda combinados con cada uno de los registros de la tabla derecha.Mas informacion: WikipediaEl cross join el conjunto de todos los valores que contengan ambas tabals combinados entre siPor ejemplo: SELECT * FROM empleado CROSS JOIN departamento
}