Tipos de joins
Los joins son utilizados para extraer información de dos o más tablas. Por razones de performance se debe de limitar el número de tablas utilizados en un join, entre más tablas seutilicen más tiempo va a tardar SQL Server en procesar la información. Los join de preferencia deben de estar basados entre la llave primera y la llave foránea de las tablas.
SQL Server soporta trestipos de joins: inner, outer y cross. Se describen a continuación:
Join
Descripción
Ejemplo
Inner
Use un inner join cuando quiera ligar dos tablas que tienen valores en común en una o más columnas.Se puede usar un inner join para ligar el número de cliente de la tabla de empleados con el número de empleado de la tabla de rentas, el resultado traería solamente los registros que cumplan con lacondición en las columnas ligadas de ambas tablas.
Outer
Use un outer join cuando quiera ligar dos tablas juntas, pero se quiere que el resultado no solo contenga los registros que se cumplen con lacondición del join, sino también cualquier registro que no cumpla de una tabla o de las demás.
Se puede usar un outer join para ligar la tabla de clientes con la tabla de rentas, para poder ver unalista de todos los clientes aunque nunca hayan rentado una película.
Cross
Use un cross join cuando se quieran ligar todos los registros de una tabla con cada registro de otra tabla.
Se puede usarun cross join si se quiere una manera rápida de alimentar una tabla con información. Este tipo de joins también se les conoce como producto cartesiano.
Self
Use un self join cuando quiera ligar unatabla a sí misma.
Se puede usar un self join cuando una columna de una tabla debe referenciar una columna diferente en la misma tabla.
Definiendo un inner Join
Como se comentó un inner join solonos va a mostrar los registros que hagan match con dos o más tablas, si no se especifica la sentencia JOIN, por default SQL Server asume que se trata de un inner join.
Ejemplo
USE pubs
SELECT...
Regístrate para leer el documento completo.