English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este tutorial, aprenderá cómo conectar dos tablas para obtener datos combinados.
Hasta ahora, todas las consultas que ha visto se han centrado en una tabla. Pero en la vida real, a menudo necesita consultar dos o más tablas y obtener un conjunto de resultados combinado. Esto se llama técnicamente conexión, porque implica la unión de campos comunes entre tablas (Clave foránea)Unir diferentes tablas para crear nuevas vistas de datos.
Para entender esto más fácilmente, veamos lo siguienteemployeesydepartmentsTabla. Aquí, la columna dept id de la tabla employees es una clave foránea de la tabla departments. Por lo tanto, se pueden conectar estas dos tablas para obtener datos combinados.
+--------+--------------+------------+---------+ | emp_id | emp_name | hire_date | dept_id | +--------+--------------+------------+---------+ | 1 | Ethan Hunt | 2001-05-01 | 4 | | 2 | Tony Montana | 2002-07-15 | 1 | | 3 | Sarah Connor | 2005-10-18 | 5 | | 4 | Rick Deckard | 2007-01-03 | 3 | | 5 | Martin Blank | 2008-06-24 | NULL | +--------+--------------+------------+---------+ | +---------+------------------+ | dept_id | dept_name | +---------+------------------+ | 1 | Administración | | 2 | Servicio al Cliente | | 3 | Finanzas | | 4 | Recursos Humanos | | 5 | Ventas | +---------+------------------+ | |
Tabla: employees | Tabla: departments |
Nota:Para conectar tablas, los datos de las columnas utilizadas para la conexión deben coincidir, no es necesario que los nombres de las columnas coincidan.
Al crear una conexión de tablas, el tipo de conexión creada en la consulta afecta las filas que se muestran en el conjunto de resultados. Puede crear los siguientes tipos de conexiones:
La conexión solo devuelve las filas que tienen coincidencias en ambas tablas de conexión. Por ejemplo, puede conectar employees ydepartmentsLas tablas se unen para crear un conjunto de resultados que muestra el nombre de departamento de cada empleado. En la conexión interna, los empleados sin información de departamento no se incluyen en el conjunto de resultados, y los departamentos sin empleados tampoco se incluirán en el conjunto de resultados.
En el siguiente capítulo, aprenderemos sobreConexión internaPara obtener más información.
La unión externa es una extensión de la unión interna. A pesar de que la unión externa no tiene filas relacionadas en la tabla de unión, también devolverá estas filas. Hay tres tipos de unión externa: unión a la izquierda (left join) y unión a la derecha (right join) y unión completa (full join)
En los capítulos posteriores, conoceremos en detalle estas variantes de conexión externa.
La conexión cruzada no tiene condiciones de conexión. Cada fila de una tabla se combina con cada fila de otra tabla. Este tipo de conjunto de resultados se llama producto cartesiano o cruce. Por ejemplo:employeesydepartmentsLa conexión cruzada entre tablas produce un conjunto de resultados en el que cada empleado posible/cada combinación de departamentos tiene una fila.
En los siguientes capítulos, aprenderemos sobreConexión cruzadaPara obtener más información.