Tablas en combinaciones
Al combinar datos de varias tablas, debe decidir qué tablas utilizar. Existen varias consideraciones que merece la pena comentar:
Combinar tres o más tablas Cada operación JOIN combina dos tablas. Sin embargo, puede utilizar varias operaciones JOIN dentro de una consulta para ensamblar datos de un número cualquiera de tablas. Puesto que el resultado de cada operación JOIN es efectivamente una tabla, puede utilizar ese resultado como un operando en una operación de combinación posterior. Por ejemplo, para crear un conjunto de resultados en el que cada fila contenga un título de libro, un autor y el porcentaje de los derechos de autor de ese libro que recibe el autor, debe combinar datos de tres tablas: authors, titles y titleauthor. El código SQL resultante puede presentar el siguiente aspecto:
SELECT title, au_fname, au_lname, royaltyper FROM authors INNER JOIN titleauthor ON authors.au_id = titleauthor.au_id INNER JOIN titles ON titleauthor.title_id = titles.title_id
Utilizar una tabla simplemente para combinar otras Puede incluir una tabla en una combinación incluso si no desea incluir ninguna de las columnas de esa tabla en un conjunto de resultados. Por ejemplo, para establecer un conjunto de resultados en el que cada fila describa una pareja título-tienda (esa tienda vende ese título), puede incluir columnas de dos tablas: titles y stores. Pero debe utilizar una tercera tabla, sales, para determinar qué tiendas han vendido qué títulos. El código SQL resultante puede presentar el siguiente aspecto:
SELECT title, stor_name FROM titles INNER JOIN sales ON titles.title_id = sales.title_id INNER JOIN stores ON sales.stor_id = stores.stor_id
Tenga en cuenta que la tabla sales no contribuye con ninguna columna del conjunto de resultados.
Utilizar una tabla dos veces en una consulta Puede utilizar la misma tabla dos (o más) veces dentro de una sola consulta. Para obtener más información, vea Utilizar una tabla dos veces en una consulta.
Utilizar otro objeto en lugar de una tabla En lugar de una tabla, puede utilizar una consulta, una vista o una función definida por el usuario que devuelva una tabla. Para obtener más información, consulte Cómo: Crear consultas a partir de otro objeto distinto de una tabla.
Para obtener más información sobre cómo agregar tablas a una consulta, consulte Cómo: Agregar tablas a las consultas.