Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
COMBINACION DE CONSULTAS Y CONSULTAS MULTITABLAS<br />LENGUAJE SQL<br />Cap. 7 y 8<br />
Palabras Reservadas para tablas relacionales<br />•La unión UNION<br />•La diferencia EXCEPT<br />•La intersección INTERSE...
La unión de tablas UNION	<br />La unión de tablas consiste en coger dos tablas y obtener una tabla con las filas de las do...
Ejemplo:<br />SELECT oficina as OFI, ciudad FROM Valencia<br />UNION<br />SELECT oficinas, ciudad FROM Madrid;<br />Result...
Mas ejemplos:<br />Muestra campos de 3 tablas:<br />SELECT oficina, ciudad<br /> FROM Valencia <br />UNION <br />SELECT of...
La Diferencia EXCEPT<br /> La diferencia EXCEPT aparecen en la tabla resultante las filas de la primera consulta que no ap...
La Diferencia EXCEPT<br />SELECT cod FROM T1<br />EXCEPT<br />SELECT codigo FROM T2;Devuelve:<br />Ejemplo:<br />Listar lo...
INTESERCT<br />La intersección INTERSECT<br />Tiene una sintaxis parecida a las anteriores pero en el resultado de la inte...
INTESERCT<br />SELECT cod FROM T1 INTERSECT SELECT cod FROM T2; <br />Ejemplo: Obtener todos los productos que valen más d...
JOIN<br />Un JOIN de dos tablas es una composicion entre las mismas basada en la coincidencia exacta (u otro tipo de compa...
JOIN DE DOS TABLAS<br />SELECT *<br />FROM curso, departamento<br />WHERE cdept=dept;<br />SELECT num_pedido, importe, emp...
Upcoming SlideShare
Loading in …5
×

Combinacion de consultas y consultas multitablas

18,461 views

Published on

  • Be the first to like this

Combinacion de consultas y consultas multitablas

  1. 1. COMBINACION DE CONSULTAS Y CONSULTAS MULTITABLAS<br />LENGUAJE SQL<br />Cap. 7 y 8<br />
  2. 2. Palabras Reservadas para tablas relacionales<br />•La unión UNION<br />•La diferencia EXCEPT<br />•La intersección INTERSECT<br />•El producto cartesiano CROSS JOIN<br />•La composición interna INNER JOIN<br />•La composición externa LEFT JOIN, RIGHT JOIN Y FULL JOIN<br />
  3. 3. La unión de tablas UNION <br />La unión de tablas consiste en coger dos tablas y obtener una tabla con las filas de las dos tablas, en el resultado aparecerán las filas de una tabla y, a continuación, las filas de la otra tabla. <br />Nota: 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.<br />La sintaxis es la siguiente:<br />{< consulta >|(< consulta >)} representa la especificación de la columna que nos devolverá la tabla a combinar. <br /> UNION [ALL]<br />{< consulta >|(< consulta >)}<br />[{UNION [ALL] {< consulta >|(< consulta >)}}[ ...n ] ]<br />[ORDER BY {expression_columna|posicion_columna [ASC|DESC]}<br /> [ ,...n ]]<br />
  4. 4. Ejemplo:<br />SELECT oficina as OFI, ciudad FROM Valencia<br />UNION<br />SELECT oficinas, ciudad FROM Madrid;<br />Resultado:<br />Consideraciones a tomar en cuenta cuando se usa la clausula union ver pagina 349 del libro.<br />
  5. 5. Mas ejemplos:<br />Muestra campos de 3 tablas:<br />SELECT oficina, ciudad<br /> FROM Valencia <br />UNION <br />SELECT oficina, ciudad <br />FROM Madrid <br />UNION <br />SELECT oficina, ciudad<br /> FROM Pamplona;<br />Muestre los productoscuyoprecioexceda de $20.00 y se hayavendidomas de 300.<br />SELECT idfab, idproducto<br />FROM  productos<br />WHERE precio > 20 <br />UNION <br />SELECT fab, producto<br />FROM pedidos<br />WHERE importe > 300;<br />
  6. 6. La Diferencia EXCEPT<br /> La diferencia EXCEPT aparecen en la tabla resultante las filas de la primera consulta que no aparecen en la segunda.<br />Las condiciones son las mismas que las de la unión. <br /> {<consulta>|(<consulta>)}<br /> EXCEPT<br />{<consulta>|(<consulta>)}<br /> [{EXCEPT {<consulta>|(<consulta>)}}[ ...n ] ]<br />[ORDER BY {expression_columna|posicion_columna [ASC|DESC]}<br />[ ,...n ]]Por ejemplo tenemos las tablas T1 y T2.<br />
  7. 7. La Diferencia EXCEPT<br />SELECT cod FROM T1<br />EXCEPT<br />SELECT codigo FROM T2;Devuelve:<br />Ejemplo:<br />Listar los productos que no aparezcan en ningún pedido.<br />SELECT idfab, idproducto<br />FROM productos<br />EXCEPT<br />SELECT DISTINCT fab, producto<br />FROM pedidos;<br />
  8. 8. INTESERCT<br />La intersección INTERSECT<br />Tiene una sintaxis parecida a las anteriores pero en el resultado de la intersección aparecen las filas que están simultáneamente en las dos consultas.Las condiciones son las mismas que las de la unión.<br />   { <consulta>|(<consulta>)}    INTERSECT {<especificacion_consulta>|(<especificacion_consulta>)}           [{INTERSECT {<consulta>|(<consulta>)}} [ ...n ] ] [ORDER BY {expression_columna|posicion_columna [ASC|DESC]}              [ ,...n ]] Retomando el ejemplo anterior:<br />
  9. 9. INTESERCT<br />SELECT cod FROM T1 INTERSECT SELECT cod FROM T2; <br />Ejemplo: Obtener todos los productos que valen más de 20 euros y que además se haya vendido en un pedido más de $300 de ese producto.<br />SELECT idfab, idproducto FROM  productos WHERE precio > 20 INTERSECT SELECT fab, producto FROM pedidos WHERE importe > 300;<br />
  10. 10. JOIN<br />Un JOIN de dos tablas es una composicion entre las mismas basada en la coincidencia exacta (u otro tipo de comparacion) de dos columnas, una de cada tabla.<br />El JOIN forma parejas de filas haciendo coincidir los contenidos de las columnas relacionadas.<br />Ejemplo: Queremos visualizar la informacion de las tablas curso y departamento para los que valores de CDEPT en curso coinciden con los DEPT en departamento:<br />
  11. 11. JOIN DE DOS TABLAS<br />SELECT *<br />FROM curso, departamento<br />WHERE cdept=dept;<br />SELECT num_pedido, importe, empresa, lim_credit<br />FROM pedidos,clientes<br />WHERE clie=num_clie;<br />

×