Las bases de datos relacionales son un elemento estable de muchas empresas. Se crean con un lenguaje informático llamado Structured Query Language (SQL). Si trabaja con relacional bases de datos, ocasionalmente examinará o recopilará datos que se encuentran en más de una tabla de la base de datos.
¿Qué es una instrucción SQL JOIN?
Una instrucción SQL JOIN hace posible unir dos o más tablas, generalmente basándose en una columna relacionada para que los datos se traten como si estuvieran ubicados en una tabla. La combinación no modifica las tablas en sí.
SQL JOIN es flexible y funcional. Aunque hay varios tipos de combinaciones, la combinación interna es una de las más fáciles de entender y usar. Eche un vistazo a las siguientes declaraciones SQL que ilustran cómo combinar resultados de tres tablas diferentes utilizando una combinación interna.
Ejemplo de unión interna
Por ejemplo, tome tablas que contienen controladores en una mesa y enfrentamientos de vehículos en la segunda. La unión interna se produce cuando tanto el vehículo como el conductor se encuentran en la misma ciudad. La combinación interna selecciona todas las filas de ambas tablas que contienen una coincidencia entre las columnas de ubicación.
La siguiente declaración SQL combina datos de las tablas de conductores y vehículos en los casos en que el conductor y el vehículo se encuentran en la misma ciudad:
SELECCIONAR apellido, nombre, etiqueta
DE conductores, vehículos
DONDE drivers.location = vehicle.location
Esta consulta produce los siguientes resultados:
apellido etiqueta de nombre
Baker Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT
Ahora, amplíe este ejemplo para incluir una tercera tabla. Para incluir solo conductores y vehículos presentes en ubicaciones que están abiertas el fin de semana, agregue una tercera tabla a la consulta extendiendo la instrucción JOIN de la siguiente manera:
SELECCIONE apellido, nombre, etiqueta, open_weekends
DESDE conductores, vehículos, ubicaciones
DONDE drivers.location = vehicle.location
AND vehicle.location = ubicaciones.localización
Y ubicaciones.open_weekends = 'Sí'
Esta consulta produce los siguientes resultados:
apellido etiqueta de nombre open_weekends
Baker Roland H122JM sí
Jacobs Abraham J291QR sí
Jacobs Abraham L990MY sí
Esta poderosa extensión de la instrucción SQL JOIN básica combina datos de una manera compleja. Además de combinar tablas con una combinación interna, esta técnica combina varias tablas con otros tipos de combinaciones.
Otros tipos de uniones
Cuando las tablas tienen un registro coincidente, las combinaciones internas son el camino a seguir, pero a veces una tabla no tiene un registro relacionado para los datos sobre los que se basa la combinación, por lo que la consulta falla. Este caso requiere una unión externa, que incluye resultados que existen en una tabla pero que no tienen una coincidencia correspondiente en la tabla combinada.
Además, puede optar por utilizar un tipo diferente de combinación, según las circunstancias. Estos otros tipos de combinaciones son:
- Izquierda combinación externa (combinación izquierda): contiene todos los registros de la tabla de la izquierda, incluso si la tabla de la derecha no tiene un registro coincidente.
- Unión exterior derecha (combinación derecha): devuelve toda la información relevante de la tabla de la derecha incluso si la tabla de la izquierda no tiene una coincidencia.
- Unión completa: Selecciona todos los registros de dos tablas, tengan o no una condición de combinación coincidente.