Ti. Sql.Caso1al9.Consultas

1,224 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,224
On SlideShare
0
From Embeds
0
Number of Embeds
43
Actions
Shares
0
Downloads
53
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Ti. Sql.Caso1al9.Consultas

  1. 1. Lenguaje de Consulta Estructurado SQL (Structured Query Language) ▪ Caso 1 al 9 ▪ Tecnología de la Información
  2. 2. CONTENIDO <ul><li>Introducción </li></ul><ul><li>1° Consultas de Selección </li></ul><ul><li>2° Consultas de Acción </li></ul><ul><li>3° Consultas de Unión Internas </li></ul><ul><li>4° Consultas de Unión Externas </li></ul><ul><li>5° Resolución de SQL Casos del 1 al 9 </li></ul>
  3. 3. Introducción <ul><li>SQL es un lenguaje de Consulta Estructurado que se usa para consultar y actualizar bases de datos relacionales. Vamos a ver el aspecto general de este lenguaje y nos servirá para familiarizarnos con el mismo. </li></ul>
  4. 4. Cuando creamos una consulta de datos, Access permite mostrarnos esa consulta de tres formas: <ul><li>Vista: Permite ver el resultado de la consulta </li></ul><ul><li>Diseño: Es la vista que ya conocemos para construir la consulta. </li></ul><ul><li>SQL: Vista en formato de instrucciones SQL </li></ul>
  5. 5. CONTENIDO <ul><li>Introducción </li></ul><ul><li>1° Consultas de Selección </li></ul><ul><li>2° Consultas de Acción </li></ul><ul><li>3° Consultas de Unión Internas </li></ul><ul><li>4° Consultas de Unión Externas </li></ul><ul><li>5° Resolución de SQL Casos del 1 al 9 </li></ul>
  6. 6. 1° Consultas de Selección <ul><li>Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta en forma de conjunto de registros que se pueden almacenar en un objeto recordset. Este conjunto de registros puede ser modificable. </li></ul>
  7. 7. 1° Consultas de Selección <ul><li>Consultas básicas </li></ul><ul><li>La sintaxis básica de una consulta de selección es la siguiente: </li></ul><ul><ul><li>SELECT </li></ul></ul><ul><ul><ul><li>Campos </li></ul></ul></ul><ul><ul><li>FROM </li></ul></ul><ul><ul><ul><li>Tabla </li></ul></ul></ul>
  8. 8. 1° Consultas de Selección <ul><li>En donde campos es la lista de campos que se deseen recuperar y tabla es el origen de los mismos, por ejemplo: </li></ul><ul><li>SELECT </li></ul><ul><ul><li>Nombre, Teléfono </li></ul></ul><ul><li>FROM </li></ul><ul><ul><li>Clientes </li></ul></ul><ul><li>Esta sentencia devuelve un conjunto de resultados con el campo nombre y teléfono de la tabla clientes. </li></ul>
  9. 9. En determinadas ocasiones nos puede interesar incluir una columna con un texto fijo en una consulta de selección, por ejemplo, supongamos que tenemos una tabla de empleados y deseamos recuperar las tarifas semanales de los electricistas, podríamos realizar la siguiente consulta: <ul><li>SELECT Empleados.Nombre, 'Tarifa semanal: ', Empleados.TarifaHora * 40 </li></ul><ul><li>FROM Empleados </li></ul><ul><li>WHERE Empleados.Cargo = 'Electricista' </li></ul>
  10. 10. 1° Consultas de Selección Otras <ul><li>ORDER BY : Ordenar los registros </li></ul><ul><ul><li>SELECT CodigoPostal, Nombre, Telefono </li></ul></ul><ul><ul><li>FROM Clientes </li></ul></ul><ul><ul><li>ORDER BY Nombre </li></ul></ul><ul><li>INDEX : Uso de Índices de las tablas </li></ul><ul><ul><li>SELECT ... FROM Tabla (INDEX=0) ... </li></ul></ul>
  11. 11. 1° Consultas de Selección Consultas con Predicado Omite los registros duplicados basándose en la totalidad del registro y no sólo en los campos seleccionados. DISTINCTOW Omite los registros cuyos campos seleccionados coincidan totalmente DISTINCT Devuelve un determinado número de registros de la tabla TOP Devuelve todos los campos de la tabla ALL Descripción Predicado
  12. 12. 1° Consultas de Selección Ejemplo <ul><li>SELECT </li></ul><ul><li>ALL </li></ul><ul><li>FROM </li></ul><ul><li>Empleados </li></ul><ul><li>SELECT * </li></ul><ul><li>FROM </li></ul><ul><li>Empleados </li></ul>
  13. 13. CONTENIDO <ul><li>Introducción </li></ul><ul><li>1° Consultas de Selección </li></ul><ul><li>2° Consultas de Acción </li></ul><ul><li>3° Consultas de Unión Internas </li></ul><ul><li>4° Consultas de Unión Externas </li></ul><ul><li>5° Resolución de SQL Casos del 1 al 9 </li></ul>
  14. 14. 2° Consultas de Acción <ul><li>Las consultas de acción son aquellas que no devuelven ningún registro, son las encargadas de acciones como añadir y borrar y modificar registros. Tanto las sentencias de actualización como las de borrado desencaderán (según el motor de datos) las actualizaciones en cascada, borrados en cascada, restricciones y valores por defecto definidos para los diferentes campos o tablas afectadas por la consulta. </li></ul>
  15. 15. 2° Consultas de Acción Ejemplo <ul><li>DELETE FROM Empleados WHERE Cargo = 'Vendedor' </li></ul>
  16. 16. 2° Consultas de acción Otras <ul><li>INSERT INTO Agrega un registro en una tabla. </li></ul><ul><li>UPDATE Crea una consulta de actualización. </li></ul>
  17. 17. CONTENIDO <ul><li>Introducción </li></ul><ul><li>1° Consultas de Selección </li></ul><ul><li>2° Consultas de Acción </li></ul><ul><li>3° Consultas de Unión Internas </li></ul><ul><li>4° Consultas de Unión Externas </li></ul><ul><li>5° Resolución de SQL Casos del 1 al 9 </li></ul>
  18. 18. 3° Consultas de Unión Internas <ul><li>Las vinculaciones entre tablas se realizan mediante la cláusula INNER que combina registros de dos tablas siempre que haya concordancia de valores en un campo común. Su sintaxis es: </li></ul><ul><li>SELECT campos </li></ul><ul><li>FROM </li></ul><ul><li>tb1 INNER JOIN tb2 ON tb1.campo1 comp tb2.campo2 </li></ul>
  19. 19. CONTENIDO <ul><li>Introducción </li></ul><ul><li>1° Consultas de Selección </li></ul><ul><li>2° Consultas de Acción </li></ul><ul><li>3° Consultas de Unión Internas </li></ul><ul><li>4° Consultas de Unión Externas </li></ul><ul><li>5° Resolución de SQL Casos del 1 al 9 </li></ul>
  20. 20. 4° Consultas de Unión Externas <ul><li>Se utiliza la operación UNION para crear una consulta de unión, combinando los resultados de dos o más consultas o tablas independientes. Su sintaxis es: </li></ul><ul><li>[TABLE] consulta1 UNION [ALL] [TABLE] </li></ul><ul><li>consulta2 [UNION [ALL] [TABLE] consultan [ ... ]] </li></ul>
  21. 21. La cláusula WHERE <ul><li>La cláusula WHERE puede usarse para determinar qué registros de las tablas enumeradas en la cláusula FROM aparecerán en los resultados de la instrucción SELECT. Después de escribir esta cláusula se deben especificar las condiciones expuestas en los apartados anteriores. Si no se emplea esta cláusula, la consulta devolverá todas las filas de la tabla. WHERE es opcional, pero cuando aparece debe ir a continuación de FROM. </li></ul>
  22. 22. CONTENIDO <ul><li>Introducción </li></ul><ul><li>1° Consultas de Selección </li></ul><ul><li>2° Consultas de Acción </li></ul><ul><li>3° Consultas de Unión Internas </li></ul><ul><li>4° Consultas de Unión Externas </li></ul><ul><li>5° Resolución de SQL Casos del 1 al 9 </li></ul>
  23. 23. Consulta 1 Obtener el nombre y el domicilio de los clientes que viven en la provincia de Misiones <ul><li>SELECT [A1/CLIENTES].NOM_CLI, [A1/CLIENTES].DOM_CLI </li></ul><ul><li>FROM [A1/CLIENTES] </li></ul><ul><li>WHERE ((([A1/CLIENTES].PROV_CLI) = &quot;MISIONES&quot; )); </li></ul>
  24. 25. Consulta 2 Obtener el nombre, domicilio y provincia de los clientes que viven en la provincia de Misiones o de Río Negro <ul><li>SELECT [A1/CLIENTES].NOM_CLI, [A1/CLIENTES].DOM_CLI, [A1/CLIENTES].PROV_CLI </li></ul><ul><li>FROM [A1/CLIENTES] </li></ul><ul><li>WHERE ((([A1/CLIENTES].PROV_CLI) = &quot;MISIONES&quot; Or ([A1/CLIENTES].PROV_CLI) = &quot;RÍO NEGRO&quot; )); </li></ul>
  25. 27. Consulta 3 O btener el importe total en pesos por factura y producto, especificando el número de factura, el código del producto y el importe total. <ul><li>SELECT [A3/ITEM VENTA].NUM_FACT, [A3/ITEM VENTA].COD_PROD, ([A3/ITEM VENTA].CANT_PROD * [A3/ITEM VENTA].[P$_PROD]) AS [IMPORTE TOTAL] </li></ul><ul><li>FROM [A3/ITEM VENTA]; </li></ul>
  26. 29. Consulta 4 Sobre la consulta 3, obtener solo el importe total para el producto a. <ul><li>SELECT [A3/ITEM VENTA].NUM_FACT, [A3/ITEM VENTA].COD_PROD, ([A3/ITEM VENTA].CANT_PROD * [A3/ITEM VENTA].[P$_PROD]) AS [IMPORTE TOTAL] </li></ul><ul><li>FROM [A3/ITEM VENTA] </li></ul><ul><li>WHERE ((([A3/ITEM VENTA].COD_PROD) = &quot;a&quot; )); </li></ul>
  27. 31. Consulta 5 Sobre la consulta 3, obtener solo el importe total para las facturas mayores iguales a 2 y menores iguales a 5 y solo para el producto código c <ul><li>SELECT Consulta3.NUM_FACT, Consulta3.COD_PROD, Consulta3.[IMPORTE TOTAL] </li></ul><ul><li>FROM Consulta3 </li></ul><ul><li>WHERE (((Consulta3.NUM_FACT) Between 2 And 5) AND ((Consulta3.COD_PROD) = &quot;c&quot; )); </li></ul>
  28. 33. Consulta 6 Sobre la consulta 3, obtener solo el importe total para los registros cuyo importe total sea mayor a 200. <ul><li>SELECT Consulta3.[IMPORTE TOTAL], Consulta3.NUM_FACT, Consulta3.COD_PROD </li></ul><ul><li>FROM Consulta3 </li></ul><ul><li>WHERE (((Consulta3.[IMPORTE TOTAL]) > 200 )); </li></ul>
  29. 35. Consulta 7 Obtener un listado de las facturas realizadas especificando número de factura, nombre del producto y cantidad vendida. <ul><li>SELECT [A3/ITEM VENTA].NUM_FACT, [A2/PRODUCTO].NOM_PROD, [A3/ITEM VENTA].CANT_PROD </li></ul><ul><li>FROM [A2/PRODUCTO] INNER JOIN [A3/ITEM VENTA] ON [A2/PRODUCTO].COD_PROD = [A3/ITEM VENTA].COD_PROD; </li></ul>
  30. 37. Consulta 8 Obtener un listado de las facturas realizadas cuya cantidad sea mayor igual a 15 especificando número de factura, nombre del producto y cantidad vendida. <ul><li>SELECT [A3/ITEM VENTA].NUM_FACT, [A2/PRODUCTO].NOM_PROD, [A3/ITEM VENTA].CANT_PROD </li></ul><ul><li>FROM [A2/PRODUCTO] INNER JOIN [A3/ITEM VENTA] ON [A2/PRODUCTO].COD_PROD = [A3/ITEM VENTA].COD_PROD </li></ul><ul><li>WHERE ((([A3/ITEM VENTA].CANT_PROD ) >=15 )); </li></ul>
  31. 39. Consulta 9 Obtener un listado de las facturas realizadas indicando número de factura, nombre del cliente, nombre del producto, cantidad y precio y el importe total. <ul><li>SELECT [A3/ITEM VENTA].NUM_FACT, ([A3/ITEM VENTA].CANT_PROD * [A3/ITEM VENTA].[P$_PROD]) AS [ IMPORTE TOTAL], [A2/PRODUCTO].NOM_PROD, [A3/ITEM VENTA].CANT_PROD, [A3/ITEM VENTA].[P$_PROD], [A1/CLIENTES].NOM_CLI </li></ul><ul><li>FROM ([A1/CLIENTES] INNER JOIN [A4/VENTAS] ON [A1/CLIENTES].COD_CLI = [A4/VENTAS].COD_CLI) INNER JOIN ([A2/PRODUCTO] INNER JOIN [A3/ITEM VENTA] ON [A2/PRODUCTO].COD_PROD = [A3/ITEM VENTA].COD_PROD) ON [A4/VENTAS].NUM_FACT = [A3/ITEM VENTA].NUM_FACT; </li></ul>
  32. 41. Preguntas?

×