SlideShare una empresa de Scribd logo
1 de 11
COMBINACION DE CONSULTAS Y CONSULTAS MULTITABLAS LENGUAJE SQL Cap. 7 y 8
Palabras Reservadas para tablas relacionales •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
La unión de tablas UNION	 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.  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. La sintaxis es la siguiente: {< consulta >|(<  consulta >)}  representa la especificación de la columna que nos devolverá la tabla a combinar.     UNION [ALL] {<  consulta >|(< consulta >)} [{UNION  [ALL] {< consulta >|(< consulta >)}}[ ...n ] ] [ORDER  BY {expression_columna|posicion_columna [ASC|DESC]}              [  ,...n ]]
Ejemplo: SELECT oficina as OFI, ciudad FROM Valencia UNION SELECT oficinas, ciudad FROM Madrid; Resultado: Consideraciones a tomar en cuenta cuando se usa la clausula union ver pagina 349 del libro.
Mas ejemplos: Muestra campos de 3 tablas: SELECT oficina, ciudad  FROM Valencia  UNION  SELECT oficina, ciudad  FROM Madrid  UNION  SELECT oficina, ciudad  FROM Pamplona; Muestre los productoscuyoprecioexceda de $20.00 y se hayavendidomas de 300. SELECT idfab, idproducto FROM  productos WHERE precio > 20  UNION  SELECT fab, producto FROM pedidos WHERE importe > 300;
La Diferencia EXCEPT  La diferencia EXCEPT aparecen en la tabla resultante las filas de la primera consulta que no aparecen en la segunda. Las condiciones son las mismas que las de la unión.     {<consulta>|(<consulta>)}    EXCEPT {<consulta>|(<consulta>)}  [{EXCEPT  {<consulta>|(<consulta>)}}[ ...n ] ] [ORDER  BY {expression_columna|posicion_columna [ASC|DESC]} [  ,...n ]]Por ejemplo tenemos las tablas T1 y T2.
La Diferencia EXCEPT SELECT cod FROM T1 EXCEPT SELECT codigo FROM T2;Devuelve: Ejemplo: Listar los productos que no aparezcan en ningún pedido. SELECT idfab, idproducto FROM  productos EXCEPT SELECT DISTINCT fab, producto FROM pedidos;
INTESERCT La intersección INTERSECT 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.    { <consulta>|(<consulta>)}    INTERSECT {<especificacion_consulta>|(<especificacion_consulta>)}           [{INTERSECT {<consulta>|(<consulta>)}} [ ...n ] ] [ORDER BY {expression_columna|posicion_columna [ASC|DESC]}              [ ,...n ]] Retomando el ejemplo anterior:
INTESERCT SELECT cod FROM T1 INTERSECT SELECT cod FROM T2;  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. SELECT idfab, idproducto FROM  productos WHERE precio > 20 INTERSECT SELECT fab, producto FROM pedidos WHERE importe > 300;
JOIN 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. El JOIN forma parejas de filas haciendo coincidir los contenidos de las columnas relacionadas. 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:
JOIN DE DOS TABLAS SELECT * FROM curso, departamento WHERE cdept=dept; SELECT num_pedido, importe, empresa, lim_credit FROM pedidos,clientes WHERE clie=num_clie;

Más contenido relacionado

La actualidad más candente

Creación de tablas y relaciones en MySQL y wamp server
Creación de tablas y relaciones en MySQL y  wamp serverCreación de tablas y relaciones en MySQL y  wamp server
Creación de tablas y relaciones en MySQL y wamp serverJair Ospino Ardila
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoTAtiizz Villalobos
 
Ejemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datosEjemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datosVane Borjas
 
SQL Joins.pptx
SQL Joins.pptxSQL Joins.pptx
SQL Joins.pptxAnkit Rai
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos josecuartas
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Sergio Sanchez
 
Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datosAlvaro Cardona
 
Creating and Managing Tables -Oracle Data base
Creating and Managing Tables -Oracle Data base Creating and Managing Tables -Oracle Data base
Creating and Managing Tables -Oracle Data base Salman Memon
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 
Relaciones entre tablas de access.
Relaciones entre tablas de access.Relaciones entre tablas de access.
Relaciones entre tablas de access.luzmilenasilvapaez
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQLbrobelo
 
ESTRUCTURA DE DATOS Pilas y colas.pdf
ESTRUCTURA DE DATOS Pilas y colas.pdfESTRUCTURA DE DATOS Pilas y colas.pdf
ESTRUCTURA DE DATOS Pilas y colas.pdfKEVINDAVIDTOPONSALAZ
 
Nested Queries Lecture
Nested Queries LectureNested Queries Lecture
Nested Queries LectureFelipe Costa
 

La actualidad más candente (20)

control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Creación de tablas y relaciones en MySQL y wamp server
Creación de tablas y relaciones en MySQL y  wamp serverCreación de tablas y relaciones en MySQL y  wamp server
Creación de tablas y relaciones en MySQL y wamp server
 
Programa de Cola Estática
Programa de Cola EstáticaPrograma de Cola Estática
Programa de Cola Estática
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Ejemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datosEjemplo LOGIN conectado a una base de datos
Ejemplo LOGIN conectado a una base de datos
 
SQL Joins.pptx
SQL Joins.pptxSQL Joins.pptx
SQL Joins.pptx
 
Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos Sql DML Lenguaje de manipulación de datos
Sql DML Lenguaje de manipulación de datos
 
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
Unidad 6 Lenguaje Sql 3 (Restricciones Ddl Avanzado)
 
Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datos
 
Creating and Managing Tables -Oracle Data base
Creating and Managing Tables -Oracle Data base Creating and Managing Tables -Oracle Data base
Creating and Managing Tables -Oracle Data base
 
Sql presentacion
Sql presentacionSql presentacion
Sql presentacion
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Comandos ddl
Comandos ddlComandos ddl
Comandos ddl
 
Relaciones entre tablas de access.
Relaciones entre tablas de access.Relaciones entre tablas de access.
Relaciones entre tablas de access.
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
22 ejercicios base de datos
22 ejercicios base de datos 22 ejercicios base de datos
22 ejercicios base de datos
 
ESTRUCTURA DE DATOS Pilas y colas.pdf
ESTRUCTURA DE DATOS Pilas y colas.pdfESTRUCTURA DE DATOS Pilas y colas.pdf
ESTRUCTURA DE DATOS Pilas y colas.pdf
 
Nested Queries Lecture
Nested Queries LectureNested Queries Lecture
Nested Queries Lecture
 
Transacciones en SQL SERVER
Transacciones en SQL SERVERTransacciones en SQL SERVER
Transacciones en SQL SERVER
 

Similar a Combinacion de consultas y consultas multitablas

Similar a Combinacion de consultas y consultas multitablas (20)

Combinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablasCombinacion de consultas y consultas multitablas
Combinacion de consultas y consultas multitablas
 
Consultas multitabla clase
Consultas multitabla claseConsultas multitabla clase
Consultas multitabla clase
 
Sql1 multitablas
Sql1 multitablasSql1 multitablas
Sql1 multitablas
 
Manipulacion de Bases de Datos
Manipulacion de Bases de DatosManipulacion de Bases de Datos
Manipulacion de Bases de Datos
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Los inner join- Giovanna Miramontes 3aps Cecyte bc
Los inner join- Giovanna Miramontes 3aps Cecyte bcLos inner join- Giovanna Miramontes 3aps Cecyte bc
Los inner join- Giovanna Miramontes 3aps Cecyte bc
 
Trabajando con sql (parte 1)
Trabajando con sql (parte 1)Trabajando con sql (parte 1)
Trabajando con sql (parte 1)
 
Consultas multitabl1 sql
Consultas multitabl1 sqlConsultas multitabl1 sql
Consultas multitabl1 sql
 
Grupo alfa 3
Grupo alfa 3Grupo alfa 3
Grupo alfa 3
 
Consultas sql
Consultas sqlConsultas sql
Consultas sql
 
Consultas combinadas
Consultas combinadasConsultas combinadas
Consultas combinadas
 
BD_L8_EXP_ROZIC_CAP9_SQL
BD_L8_EXP_ROZIC_CAP9_SQLBD_L8_EXP_ROZIC_CAP9_SQL
BD_L8_EXP_ROZIC_CAP9_SQL
 
Consultas básicas en sql server
Consultas básicas en sql serverConsultas básicas en sql server
Consultas básicas en sql server
 
SQL
SQLSQL
SQL
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Inserción de datos y selección de datos
Inserción de datos y selección de datosInserción de datos y selección de datos
Inserción de datos y selección de datos
 
14 structure query language
14 structure query language14 structure query language
14 structure query language
 
Insercción de datos y selección de datos
Insercción de datos y selección de datosInsercción de datos y selección de datos
Insercción de datos y selección de datos
 
Consultas basicas en sql server
Consultas basicas en sql serverConsultas basicas en sql server
Consultas basicas en sql server
 

Combinacion de consultas y consultas multitablas

  • 1. COMBINACION DE CONSULTAS Y CONSULTAS MULTITABLAS LENGUAJE SQL Cap. 7 y 8
  • 2. Palabras Reservadas para tablas relacionales •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
  • 3. La unión de tablas UNION 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. 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. La sintaxis es la siguiente: {< consulta >|(< consulta >)} representa la especificación de la columna que nos devolverá la tabla a combinar. UNION [ALL] {< consulta >|(< consulta >)} [{UNION [ALL] {< consulta >|(< consulta >)}}[ ...n ] ] [ORDER BY {expression_columna|posicion_columna [ASC|DESC]} [ ,...n ]]
  • 4. Ejemplo: SELECT oficina as OFI, ciudad FROM Valencia UNION SELECT oficinas, ciudad FROM Madrid; Resultado: Consideraciones a tomar en cuenta cuando se usa la clausula union ver pagina 349 del libro.
  • 5. Mas ejemplos: Muestra campos de 3 tablas: SELECT oficina, ciudad FROM Valencia UNION SELECT oficina, ciudad FROM Madrid UNION SELECT oficina, ciudad FROM Pamplona; Muestre los productoscuyoprecioexceda de $20.00 y se hayavendidomas de 300. SELECT idfab, idproducto FROM  productos WHERE precio > 20 UNION SELECT fab, producto FROM pedidos WHERE importe > 300;
  • 6. La Diferencia EXCEPT La diferencia EXCEPT aparecen en la tabla resultante las filas de la primera consulta que no aparecen en la segunda. Las condiciones son las mismas que las de la unión. {<consulta>|(<consulta>)} EXCEPT {<consulta>|(<consulta>)} [{EXCEPT {<consulta>|(<consulta>)}}[ ...n ] ] [ORDER BY {expression_columna|posicion_columna [ASC|DESC]} [ ,...n ]]Por ejemplo tenemos las tablas T1 y T2.
  • 7. La Diferencia EXCEPT SELECT cod FROM T1 EXCEPT SELECT codigo FROM T2;Devuelve: Ejemplo: Listar los productos que no aparezcan en ningún pedido. SELECT idfab, idproducto FROM productos EXCEPT SELECT DISTINCT fab, producto FROM pedidos;
  • 8. INTESERCT La intersección INTERSECT 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.    { <consulta>|(<consulta>)}    INTERSECT {<especificacion_consulta>|(<especificacion_consulta>)}           [{INTERSECT {<consulta>|(<consulta>)}} [ ...n ] ] [ORDER BY {expression_columna|posicion_columna [ASC|DESC]}              [ ,...n ]] Retomando el ejemplo anterior:
  • 9. INTESERCT SELECT cod FROM T1 INTERSECT SELECT cod FROM T2; 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. SELECT idfab, idproducto FROM  productos WHERE precio > 20 INTERSECT SELECT fab, producto FROM pedidos WHERE importe > 300;
  • 10. JOIN 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. El JOIN forma parejas de filas haciendo coincidir los contenidos de las columnas relacionadas. 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:
  • 11. JOIN DE DOS TABLAS SELECT * FROM curso, departamento WHERE cdept=dept; SELECT num_pedido, importe, empresa, lim_credit FROM pedidos,clientes WHERE clie=num_clie;