SQL-CONSULTAS MULTITABLAS

Páginas: 5 (1061 palabras) Publicado: 11 de junio de 2014
1-CONSULTAS MULTITABLAS
En estas consultas se utilizan palabras reservadas:
La unión UNION
La diferencia EXCEPT
La intersección INTERSECT
El producto cartesiano CROSS JOIN
La composición interna INNER JOIN
La composición externa LEFT JOIN, RIGHT JOIN Y FULL JOIN

Ejemplos
La unión de tablas UNION
La unión de tablas consiste en coger dos tablas y obtener una tabla con las filas delas dos tablas, en el resultado aparecerán las filas de una tabla y, a continuación, las filas de la otra tabla.
Para poder realizar la operación, las dos tablas tienen que tener el mismo esquema (mismo número de columnas y tipos compatibles) y la tabla resultante hereda los encabezados de la primera tabla.
La sintaxis es la siguiente:
{< consulta >|(< consulta >)}
UNION [ALL]
{< consulta>|(< consulta >)}
[{UNION [ALL] {< consulta >|(< consulta >)}}[ ...n ] ]
[ORDER BY {expression_columna|posicion_columna [ASC|DESC]}
[ ,...n ]]
< consulta > representa la especificación de la consulta que nos devolverá la tabla a combinar.
Puede ser cualquier especificación de consulta con la limitación de que no admite la cláusula ORDER BY, los alias de campo se puedendefinir pero sólo tienen efecto cuando se indican en la primera consulta ya que el resultado toma los nombres de columna de esta.
Ejemplo: Suponemos que tenemos una tabla Valencia con las nuevas oficinas de Valencia y otra tabla Madrid con las nuevas oficinas de Madrid y queremos obtener una tabla con las nuevas oficinas de las dos ciudades:
SELECT oficina as OFI, ciudad FROM Valencia
UNION ALLSELECT oficina, ciudad FROM Madrid;
El resultado sería:
OFI ciudad
11 Valencia
28 Valencia
23 Madrid
El resultado coge los nombres de columna de la primera consulta y aparecen primero las filas de la primera consulta y después las de la segunda.
Si queremos que el resultado aparezca ordenado podemos incluir la cláusula ORDER BY, pero después de la última especificación de consulta, yexpresion_columna será cualquier columna válida de la primera consulta.
SELECT oficina as OFI, ciudad FROM Valencia
UNION
SELECT oficina, ciudad FROM Madrid
ORDER BY ofi;
OFI ciudad
11 Valencia
23 Madrid
28 Valencia
Ahora las filas aparecen ordenadas por el número de oficina y hemos utilizado el nombre de columna de la primera consulta.
Cuando aparezcan en el resultado varias filas iguales, elsistema por defecto elimina las repeticiones.
Si se especifica ALL, el sistema devuelve todas las filas resultante de la unión incluidas las repetidas
El empleo de ALL también hace que la consulta se ejecute más rápidamente ya que el sistema no tiene que eliminar las repeticiones.
Se pueden combinar varias tablas con el operador UNION. Por ejemplo supongamos que tenemos otra tabla Pamplona conlas oficinas nuevas de Pamplona:
SELECT oficina, ciudad FROM Valencia
UNION
SELECT oficina, ciudad FROM Madrid
UNION
SELECT oficina, ciudad FROM Pamplona;
Combinamos las tres tablas.
Otro ejemplo:
Obtener todos los productos cuyo precio exceda de 20 € o que se haya vendido más de 300 euros del producto en algún pedido.
SELECT idfab, idproducto
FROM productos
WHERE precio > 20
UNIONSELECT fab, producto
FROM pedidos
WHERE importe > 300;



2-CONSULTAS GROUP BY
Ahora regresamos a las funciones de agregados. ¿Recuerda que utilizamos la palabra clave SUM para calcular las ventas totales para todos los negocios? ¿Y si quisiéramos calcular el total de ventas para cada negocio? Entonces, necesitamos hacer dos cosas: Primero, necesitamos asegurarnos de que hayamos seleccionadoel nombre del negocio así como también las ventas totales. Segundo, debemos asegurarnos de que todas las sumas de las ventas estén GROUP BY negocios. La sintaxis SQL correspondiente es,
SELECT "nombre1_columna", SUM("nombre2_columna")
FROM "nombre_tabla"
GROUP BY "nombre1-columna";


Ilustremos utilizando la siguiente tabla,
Tabla Store_Information
Store_Name Sales Txn_Date
Los Angeles...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sql consultas multitabla
  • consultas multitablas
  • Consulta Multitabla
  • Consultas sql
  • Consultas sql
  • Consultas multitabla mysql
  • Consultas sql
  • consultas sql

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS