Módulo IV: Consultas Básicas y Avanzadas

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Módulo IV: Consultas Básicas y Avanzadas"

Transcripción

1 Módulo IV: Consultas Básicas y Avanzadas Ejecución de Consultas Básicas Consultas de Múltiples Tablas Técnicas Avanzadas Maximiliano Odstrcil - 1

2 Ejecución de Consultas Básicas Recuperación de Datos Formato de un ResultSet Modificación de Datos Maximiliano Odstrcil - 2

3 Recuperación de Datos Uso de la sentencia SELECT Especificación de columnas Uso de la cláusula WHERE Condiciones de búsqueda de WHERE Maximiliano Odstrcil - 3

4 Uso de la sentencia SELECT La sentencia SELECT se usa para recuperar los datos. SELECT [ALL DISTINCT] <lista_selección> FROM {<tabla_fuente>} [, n] WHERE <predicado_búsqueda> lista_selección: especifica las columnas a devolver. FROM: indica la tabla origen de los datos. WHERE: especifica las filas a devolver: Se puede restringir el número de filas usando operadores de comparación, cadenas y operadores lógicos. Maximiliano Odstrcil - 4

5 Especificación de columnas (1) La lista de selección contiene las columnas, expresiones, variables o constantes a listar. Consideraciones: La lista de selección devuelve los resultados en el orden listado. Los nombres de las columnas se separan con comas. El (*) devuelve todas las columnas (evitar su uso). Maximiliano Odstrcil - 5

6 Especificación de columnas (2) USE Northwind SELECT EmployeeID, LastName, FirstName, Title FROM Employees EmployeeID EmployeeID LastName LastName 1 Davolio Davolio 2 Fuller Fuller 3 Leverling Leverling 4 Peacock Peacock 5 Buchanan Buchanan 6 Suyama Suyama 7 King King 8 Callahan Callahan 9 Dodsworth Dodsworth FirstName FirstName Nancy Nancy Andrew Andrew Janet Janet Margaret Margaret Steven Steven Michael Michael Robert Robert Laura Laura Anne Anne Title Title Sales Sales Representative Representative Vice Vice President, President, Sales Sales Sales Sales Representative Representative Sales Sales Representative Representative Sales Sales Manager Manager Sales Sales Representative Representative Sales Sales Representative Representative Inside Inside Sales Sales Coordinator Coordinator Sales Sales Representative Representative Maximiliano Odstrcil - 6

7 Uso de la cláusula WHERE (1) Con la cláusula WHERE se pueden obtener filas específicas basadas en una condición de búsqueda (limita el número de filas devueltas por la sentencia SELECT). Sólo se devuelven las filas que cumplen con los criterios especificados en la cláusula. Maximiliano Odstrcil - 7

8 Uso de la cláusula WHERE (2) Consideraciones: Los datos char, nchar, varchar, nvarchar, text, datetime y smalldatetime van entre comillas simples (SQL Server). En lo posible se deben emplear condiciones de búsqueda positivas. Maximiliano Odstrcil - 8

9 Uso de la cláusula WHERE (3) USE Northwind SELECT EmployeeID, LastName, FirstName, Title FROM Employees WHERE EmployeeID = 5 EmployeeID LastName 5 Buchanan FirstName Steven Title Title Sales Manager Maximiliano Odstrcil - 9

10 Condiciones de búsqueda de WHERE En una cláusula WHERE se puede usar lo siguiente: Descripción Condición de Búsqueda Comparadores =, >, <, >=, <= y <> Comparadores de Cadena LIKE y NOT LIKE - % Operadores Lógicos AND, OR, NOT Rango de Valores BETWEEN y NOT BETWEEN Lista de Valores IN y NOT IN Valores desconocidos IS NOT e IS NOT NULL Maximiliano Odstrcil - 10

11 Comparadores Comparan columnas, expresiones, variables y constantes entre sí. Usar condiciones positivas (son más rápidas). SELECT LastName, City FROM Employees WHERE Country = 'USA' Maximiliano Odstrcil - 11 LastName Davolio Fuller Leverling Peacock Callahan City City Seattle Tacoma Kirkland Redmond Seattle

12 Comparadores de Cadena (1) Se puede usar el operador LIKE en combinación con caracteres especiales para seleccionar filas comparando cadenas de caracteres. Consideraciones: Todos los caracteres en el patrón son significantes, incluidos los espacios antes y después. LIKE puede ser usado con los tipos de datos char, nchar, varchar, nvarchar o datetime. Maximiliano Odstrcil - 12

13 Comparadores de Cadena (2) Caracteres especiales: Caracter Descripción % Cualquier cadena de 0 o más caracteres _ Cualquier caracter [] Cualquier caracter del conjunto [^] Cualquier caracter menos los del conjunto Maximiliano Odstrcil - 13

14 Comparadores de Cadena (3) Ejemplos: LIKE 'BR%': todos los nombres que empiecen con BR. LIKE '_er': palabras de tres letras terminadas en er. LIKE '[VB]%': palabras que empiecen en V o B. LIKE '[0-3][^0]': números que comiencen con 0,1,2 o 3 y cuyo segundo número no sea 0. Maximiliano Odstrcil - 14

15 Comparadores de Cadena (4) USE Northwind SELECT CompanyName FROM Customers WHERE CompanyName LIKE '%Restaurant%' CompanyName GROSELLA-Restaurante Lonesome Pine Pine Restaurant Tortuga Restaurante Maximiliano Odstrcil - 15

16 Operadores Lógicos Combinan expresiones. El orden de evaluación es NOT, AND y OR. Admiten paréntesis. SELECT ProductID, ProductName, SupplierID, UnitPrice FROM Products WHERE (ProductName LIKE 'T%' OR OR ProductID = 46) AND (UnitPrice > 16.00) ProductID ProductName SupplierID UnitPrice Tofu Tofu Thüringer Rostbratwurst Tarte au au sucre Maximiliano Odstrcil - 16

17 Rango de Valores (1) BETWEEN: se usa para devolver filas cuyos valores de búsqueda se encuentran dentro de un rango. Consideraciones: La inclusión de los valores de los extremos del intervalo depende del SGBDR. Es mejor usar BETWEEN que dos comparadores (<= y >=) Evitar el uso de NOT BETWEEN por su baja performance. Evitar el uso con valores de fecha ya que hay que tener en cuenta la hora (por defecto medianoche 00:00:00). Maximiliano Odstrcil - 17

18 Rango de Valores (2) USE Northwind SELECT ProductName, UnitPrice FROM Products WHERE UnitPrice BETWEEN AND Maximiliano Odstrcil - 18 ProductName UnitPrice Chai Chai Chang Aniseed Syrup Genen Shouyu Pavlova Sir Sir Rodney s Scones

19 Lista de Valores (1) La condición IN se utiliza para devolver filas cuyos valores de búsqueda pertenezcan a un conjunto dado. Consideraciones: Se pueden reemplazar por series de expresiones OR. No incluir el valor nulo en el conjunto (resultados inesperados). El uso de NOT IN disminuye la performance. Maximiliano Odstrcil - 19

20 Lista de Valores (2) USE Northwind SELECT CompanyName, Country FROM Suppliers WHERE Country IN IN ('Japan', 'Italy') CompanyName Tokyo Traders Mayumi s Formaggi Fortini s.r.l. s.r.l. Pasta Buttini s.r.l. s.r.l. Country Country Japan Japan Italy Italy Italy Italy Maximiliano Odstrcil - 20

21 Valores desconocidos (1) Una columna tiene el valor nulo si no se ingresó valor alguno. Un valor nulo no equivale a la cadena vacía ni a 0. Se usa IS NULL para devolver filas cuyos valores de búsqueda sean nulos. Maximiliano Odstrcil - 21

22 Valores desconocidos (2) Consideraciones: Los valores nulos hacen fallar a todas las comparaciones. Se define la posibilidad de agregar nulos en las columnas en la sentencia CREATE TABLE. Usar IS NOT NULL para devolver filas con valores conocidos. Maximiliano Odstrcil - 22

23 Valores desconocidos (3) USE Northwind SELECT CompanyName, Fax FROM Suppliers WHERE Fax IS IS NULL CompanyName Exotic Liquids New New Orleans Cajun Delights Tokyo Traders Cooperativa de de Quesos Las Las Cabras Fax Fax NULL NULL NULL NULL Maximiliano Odstrcil - 23

24 Formato de un ResultSet Orden de los Datos Eliminación de Duplicados Cambio de Nombres a las Columnas Uso de Constantes Maximiliano Odstrcil - 24

25 Orden de los Datos (1) La cláusula ORDER BY ordena las filas devueltas en orden ascendente (ASC) o descendente (DESC). Consideraciones: No se garantiza un orden determinado sin ORDER BY. Por defecto se ordena ascendentemente (ASC). Las columnas por las que se ordenan no necesitan aparecer en la lista de selección. Se puede ordenar por columnas o expresiones y referirse a las mismas por su número de orden en la lista de selección. Maximiliano Odstrcil - 25

26 Orden de los Datos (2) SELECT ProductID, ProductName, CategoryID, UnitPrice FROM Products ORDER BY BY CategoryID, UnitPrice DESC productid productname Cote de de Blaye Ipoh Ipoh Coffee Chang categoryid unitprice Vegie-spread Northwoods Cranberry Sauce Sirop d'érable Maximiliano Odstrcil - 26

27 Eliminación de Duplicados (1) La cláusula DISTINCT permite eliminar filas duplicadas. Consideraciones: La combinación de valores en la lista de selección es la que determina la desigualdad entre filas. Solo se muestra un elemento de todas las filas que tienen la misma combinación de valores de la lista de selección. DISTINCT no ordena, para ello se debe usar ORDER BY. Maximiliano Odstrcil - 27

28 Eliminación de Duplicados (2) USE Northwind SELECT DISTINCT Country FROM Suppliers ORDER BY BY Country Maximiliano Odstrcil - 28 Country Country Australia Brazil Canada Denmark Finland France Germany Italy Italy Japan Netherlands Norway Singapore Spain Sweden UK UK USA USA

29 Cambio de Nombres a las Columnas (1) La cláusula AS permite crear alias a las columnas de manera que resulten más legibles o bien den nombres a las expresiones. Consideraciones: Por defecto, se muestran los nombres de las columnas. Encerrar los alias entre comillas simples si incluyen espacios. Se pueden crear alias para expresiones. Se puede omitir la cláusula AS y dejar un espacio entre la expresión y el alias. Maximiliano Odstrcil - 29

30 Cambio de Nombres a las Columnas (2) USE Northwind SELECT FirstName AS AS First, LastName AS AS Last, EmployeeID AS AS 'Employee ID:' FROM Employees First First Nancy Nancy Andrew Andrew Janet Janet Margaret Margaret Steven Steven Michael Michael Robert Robert Laura Laura Anne Anne Last Last Davolio Davolio Fuller Fuller Leverling Leverling Peacock Peacock Buchanan Buchanan Suyama Suyama King King Callahan Callahan Dodsworth Dodsworth Employee Employee ID: ID: Maximiliano Odstrcil - 30

31 Uso de Constantes Las constantes o literales son letras, números o símbolos. SELECT FirstName, LastName, 'Identification Number:', EmployeeID FROM Employees FirstName FirstName Nancy Nancy Andrew Andrew Janet Janet Margaret Margaret Steven Steven Michael Michael Robert Robert Laura Laura Anne Anne Maximiliano Odstrcil - 31 LastName LastName Davolio Davolio Fuller Fuller Leverling Leverling Peacock Peacock Buchanan Buchanan Suyama Suyama King King Callahan Callahan Dodsworth Dodsworth EmployeeID EmployeeID Identification Identification Number: Number: 1 Identification Identification Number: Number: 2 Identification Identification Number: Number: 3 Identification Identification Number: Number: 4 Identification Identification Number: Number: 5 Identification Identification Number: Number: 6 Identification Identification Number: Number: 7 Identification Identification Number: Number: 8 Identification Identification Number: Number: 9

32 Modificación de Datos Inserción de Filas Borrado de Filas Modificación de Filas Maximiliano Odstrcil - 32

33 Inserción de Filas (1) La sentencia INSERT agrega filas a una tabla. INSERT [INTO] tabla [(lista_columnas)] VALUES (lista_valores) DEFAULT VALUES Consideraciones: Usar la lista de columnas para forzar el orden de los valores. Especificar los datos a ingresar luego de la palabra VALUES. El orden y tipo de datos deben coincidir con los de la tabla. La sentencia INSERT falla si se violan las constraints o Reglas. Maximiliano Odstrcil - 33

34 Inserción de Filas (2) USE Northwind INSERT Customers (CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax) VALUES ('PECOF', 'Pecos Coffee Company', 'Michael Dunn', 'Owner', '1900 Oak Street', 'Vancouver', 'BC', 'V3F 2K1', 'Canada', '(604) ', '(604) ') Maximiliano Odstrcil - 34

35 Inserción de Filas (3) Cuando se insertan filas a una tabla, se pueden emplear las cláusulas DEFAULT o DEFAULT VALUES. Consideraciones sobre DEFAULT: Se inserta un valor nulo para aquellas columnas que no tienen definido un valor por efecto y admiten valores nulos. Si la columna no admite valores nulos ni tiene valor por defecto, la sentencia fallará. No se puede usar DEFAULT para columnas del tipo IDENTITY. INSERT Shippers (CompanyName, Phone) VALUES ('Kenya Coffee Co.', DEFAULT) Maximiliano Odstrcil - 35

36 Inserción de Filas (4) DEFAULT VALUES permite insertar toda una fila por defecto en la tabla. Consideraciones: En columnas con tipos de datos timestamp o propiedad IDENTITY, se inserta el siguiente valor apropiado. Se puede usar DEFAULT VALUES para generar datos de prueba y poblar tablas de manera sencilla. No disponible para MySQL. INSERT Clientes DEFAULT VALUES Maximiliano Odstrcil - 36

37 Inserción de Filas (5) Si la columna tiene valores por defecto o acepta valores nulos, se puede omitir el nombre en la sentencia INSERT. Consideraciones: Listar sólo los nombres de columnas para los cuales haya valores (no listar las columnas IDENTITY). Las columnas no nombradas adoptarán el valor por defecto. Especificar el valor nulo escribiendo NULL (sin comillas). Maximiliano Odstrcil - 37

38 Inserción de Filas (6) Agregando nuevos datos USE Northwind INSERT Shippers (CompanyName) VALUES ('Fitch & Mather') Verificando nuevos datos USE Northwind SELECT * FROM Shippers WHERE CompanyName = 'Fitch & Mather' Permite valores nulos ShipperID ShipperID CompanyName CompanyName Fitch Fitch & Mather Mather Phone Phone NULL NULL Maximiliano Odstrcil - 38

39 Borrado de Filas (1) La sentencia DELETE: Borra una o más filas de una tabla. Se puede limitar las filas a borrar (WHERE). Cada fila borrada se registra en el RT como una transacción. SQL Server: DELETE Orders WHERE DATEDIFF(MONTH, GETDATE(), ShippedDate) >= >= 6 MySQL: DELETE FROM Orders WHERE DATEDIFF(CURDATE(), ShippedDate) / >= >= 6; 6; Maximiliano Odstrcil - 39

40 Borrado de Filas (2) La sentencia TRUNCATE TABLE: Se usa para borrar todas las filas de una tabla, reteniendo su estructura y sus objetos asociados. Se ejecuta mucho más rápido que DELETE ya que no se registra en el Registro de Transacciones. Si la tabla tiene una columna IDENTITY, vuelve el valor de la semilla al valor inicial. TRUNCATE TABLE Orders Maximiliano Odstrcil - 40

41 Modificación de Filas (1) La sentencia UPDATE modifica los datos existentes de las filas de las tablas. UPDATE Products SET UnitPrice = (UnitPrice * 1.1) Maximiliano Odstrcil - 41

42 Modificación de Filas (2) Consideraciones: Las filas a modificar se especifican en la cláusula WHERE. Los valores nuevos se especifican con la cláusula SET. Los valores ingresados deben ser del mismo tipo de las columnas a modificar y no deben violar las constraints y Reglas. Se pueden cambiar los datos de una tabla a la vez. Se pueden usar expresiones basadas en columnas de la tabla u otras tablas, variables y constantes. Maximiliano Odstrcil - 42

43 Consultas de Múltiples Tablas Combinación de Múltiples Tablas Combinación de Varios Resultsets Creación de Tabla desde Resultset Maximiliano Odstrcil - 43

44 Combinación de Múltiples Tablas Introducción a Joins Uso de Inner Joins Uso de Outer Joins Uso de Cross Joins Joins de más de dos tablas Join de una tabla con sí misma Maximiliano Odstrcil - 44

45 Introducción a Joins (1) Se unen (join) tablas para producir un conjunto simple de resultados que incorpora filas de dos o más tablas. SELECT lista_selección FROM tabla1 [INNER LEFT RIGHT OUTER] JOIN tabla2 ON ON condición_join La cláusula JOIN especifica qué tablas son las que se unen y cómo se unen. La cláusula ON especifica las columnas en común que tienen las tablas. Maximiliano Odstrcil - 45

46 Introducción a Joins (2) Consideraciones: Especificar las condiciones del join basadas en las claves primarias y propagadas de las tablas. Si la tabla tiene una clave compuesta, se deben referenciar todas las columnas luego de la palabra ON. Si los nombres de las columnas son los mismos en las tablas, usar el formato nombre_tabla.nombre_columna. Limitar el número de tablas en un join ya que también aumenta el tiempo de proceso de la consulta. Maximiliano Odstrcil - 46

47 Uso de Inner Joins (1) Los Inner Joins combinan tablas comparando los valores en las columnas comunes a ambas tablas y devolviendo sólo las filas que cumplen con la condición. Consideraciones: Los inner joins son los joins por defecto (se puede omitir inner ) Especificar las columnas a listar en el ResultSet incluyéndolas en la lista de selección con los nombres cualificados. Si se incluye WHERE, se restringe el nº de filas devueltas. No usar el valor nulo como condición del join. No se garantiza un orden en el resultado (usar ORDER BY). Maximiliano Odstrcil - 47

48 Uso de Inner Joins (2) SELECT buyer_name, sales.buyer_id, qty qty FROM FROM Buyers INNER JOIN JOIN Sales ON ON Buyers.buyer_id = Sales.buyer_id Buyers buyer_name buyer_name buyer_id buyer_id Adam Adam Barr Barr 1 1 Sean Sean Chai Chai 2 2 Eva Eva Corets Corets 3 3 Erin Erin O Melia O Melia 4 4 Maximiliano Odstrcil - 48 Resultado buyer_name buyer_name buyer_id buyer_id qty qty Adam Adam Barr Barr Adam Adam Barr Barr Erin Erin O Melia O Melia Eva Eva Corets Corets Erin Erin O Melia O Melia Sales buyer_id buyer_id prod_id prod_id qty qty

49 Uso de Outer Joins (1) Los Left o Right Joins combinan filas desde dos tablas que satisfacen la condición del join más las filas de la tabla izquierda o derecha que no la satisfacen. Se usan para obtener los datos que están en una tabla adicionando los que están en la otra, si es que están. Consideraciones: A LEFT JOIN B = B RIGHT JOIN A No usar valores nulos en la condición del join. Usar los Outer Joins entre dos tablas preferentemente. Se puede abreviar omitiendo la palabra Outer. Maximiliano Odstrcil - 49

50 Uso de Outer Joins (2) Buyers buyer_name buyer_name Adam Adam Barr Barr Sean Sean Chai Chai Eva Eva Corets Corets Erin Erin O Melia O Melia Maximiliano Odstrcil - 50 SELECT buyer_name, sales.buyer_id, qty qty FROM FROM Buyers LEFT LEFT OUTER JOIN JOIN Sales ON ON Buyers.buyer_id = Sales.buyer_id Sales buyer_id buyer_id buyer_id buyer_id prod_id prod_id qty qty Resultado buyer_name buyer_name buyer_id buyer_id qty qty Adam Adam Barr Barr Adam Adam Barr Barr 1 5 Erin Erin O Melia O Melia Eva Eva Corets Corets Erin Erin O Melia O Melia Sean Sean Chai Chai NULL NULL NULL NULL

51 Uso de Cross Joins (1) Los Cross Joins realizan el producto cartesiano de dos tablas (no requieren columnas en común). Consideraciones: Son raramente usados en una BD normalizada, aunque se los utiliza para poblar rápidamente tablas para pruebas. Cardinalidad(A Cross Join B) = Cardinalidad(A) *Cardinalidad(B) Maximiliano Odstrcil - 51

52 Uso de Cross Joins (2) Buyers SELECT buyer_name, qty qty FROM FROM Buyers CROSS JOIN JOIN Sales Sales Resultado buyer_id buyer_id buyer_name buyer_name 1 Adam Adam Barr Barr 2 Sean Sean Chai Chai 3 Eva Eva Corets Corets 4 Erin Erin O Melia O Melia Maximiliano Odstrcil - 52 buyer_id buyer_id prod_id prod_id qty qty buyer_name buyer_name Adam Adam Barr Barr Adam Adam Barr Barr Adam Adam Barr Barr Adam Adam Barr Barr qty qty Adam Adam Barr Barr Sean Sean Chai Chai Sean Sean Chai Chai 5 Sean Sean Chai Chai Sean Sean Chai Chai Sean Sean Chai Chai Eva Eva Corets Corets Eva Eva Corets Corets

53 Joins de más de dos tablas (1) Es posible unir más de dos tablas, ya que cada tabla en un join tiene alguna columna en común con otra tabla. Consideraciones: A join B join C = (A join B) join C = D join C, con D = A join B. Se deben tener tablas relacionadas con claves foráneas. Se deben considerar las claves compuestas en los joins. Se puede incluir una cláusula WHERE para limitar las filas. El número de cláusulas joins es siempre uno menor al número de tablas participantes. Los joins son conmutativos. Maximiliano Odstrcil - 53

54 Joins de más de dos tablas (2) SELECT buyer_name, prod_name, qty qty FROM FROM Buyers JOIN JOIN Sales ON ON Buyers.buyer_id = Sales.buyer_id JOIN JOIN Produce ON ON Sales.prod_id = Produce.prod_id Buyers Sales buyer_id buyer_id buyer_name buyer_name buyer_id buyer_id prod_id prod_id qty qty 1 Adam Adam Barr Barr Sean Sean Chai Chai Eva Eva Corets Corets Erin Erin O Melia O Melia Resultado buyer_name buyer_name prod_name prod_name qty qty Erin Erin O Melia O Melia Apples Apples Adam Adam Barr Barr Pears Pears Erin Erin O Melia O Melia Pears Pears Adam Adam Barr Barr Oranges Oranges 5 Eva Eva Corets Corets Peaches Peaches Maximiliano Odstrcil - 54 Produce prod_id prod_id prod_name prod_name 1 1 Apples Apples 2 2 Pears Pears 3 3 Oranges Oranges 4 4 Bananas Bananas 5 5 Peaches Peaches

55 Join de una tabla con sí misma (1) Se realiza para encontrar filas que tengan valores en común con otras filas de la misma tabla. Consideraciones: Hay que especificar alias de la tabla para referenciar dos copias de la misma tabla (se las trata como dos tablas separadas). Cuando se generan las filas, al cumplir las condiciones del ON dos veces, se generan repetidas. Se soluciona aplicando en el WHERE una condición de desigualdad para eliminarlas. Maximiliano Odstrcil - 55

56 Join de una tabla con sí misma (2) Sales a buyer_id buyer_id prod_id prod_id qty qty SELECT a.buyer_id AS AS buyer1, a.prod_id, b.buyer_id AS AS buyer2 FROM FROM Sales a JOIN JOIN Sales b ON ON a.prod_id = b.prod_id WHERE a.buyer_id > b.buyer_id buyer1 buyer1 4 Resultado prod_id prod_id buyer2 buyer2 2 1 Sales b buyer_id buyer_id prod_id prod_id qty qty Maximiliano Odstrcil - 56

57 Combinación de Varios ResultSets (1) El operador UNION combina los resultados de dos o más sentencias SELECT en un solo ResultSet. sentencia_select UNION [ALL] sentencia_select... Se lo usa cuando los datos residen en diferentes ubicaciones y no pueden ser accedidos en una sola consulta. Maximiliano Odstrcil - 57

58 Combinación de Varios ResultSets (2) SQL Server: MySQL: Maximiliano Odstrcil - 58

59 Combinación de Varios ResultSets (3) Consideraciones: Los resultados deben tener el mismo tipo de datos, número y orden de columnas en la lista de selección. Automáticamente se remueven las filas duplicadas, a menos que se emplee la cláusula ALL. El resultado se devuelve en cualquier orden. Para que salga ordenado se debe emplear ORDER BY. Maximiliano Odstrcil - 59

60 Creación de Tabla desde Resultset (1) Se puede crear una nueva tabla en base al resultado de una consulta mediante la sentencia SELECT INTO (SQL Server) o CREATE SELECT (MySQL). Nueva tabla en base a una consulta (SQL Server): SELECT ProductName AS AS Products, UnitPrice AS AS Price INTO PriceTable FROM Products Nueva tabla en base a una consulta (MySQL): CREATE TABLE PriceTable SELECT ProductName, UnitPrice FROM Products; Maximiliano Odstrcil - 60

61 Creación de Tabla desde Resultset (2) Consideraciones: Siempre se crea una tabla y se inserta el Resultset en la misma. Todas las columnas deben tener nombre (usar alias). En SQL Server se debe tener el permiso select into/bulk copy. Al crear la tabla se puede especificar que la misma sea temporaria. Una tabla temporaria brinda un espacio de trabajo para resultados intermedios. Maximiliano Odstrcil - 61

62 Creación de Tabla desde Resultset (3) En SQL Server se pueden tener tablas temporales: Locales (#): el espacio que ocupan es liberado cuando se termina la sesión que las creó. Globales (##): el espacio que ocupan es liberado cuando termina la última sesión abierta en el servidor. En el caso de MySQL, las tablas temporales sólo pueden ser locales. Maximiliano Odstrcil - 62

63 Creación de Tabla desde Resultset (4) Tabla temporal en base a una consulta (SQL Server): SELECT ProductName AS AS Products, UnitPrice AS AS Price INTO #PriceTable FROM Products Tabla temporal en base a una consulta (MySQL): CREATE TEMPORARY TABLE PriceTable SELECT ProductName, UnitPrice FROM Products; Maximiliano Odstrcil - 63

64 Técnicas Avanzadas EXISTS y NOT EXISTS Modificación de Datos Maximiliano Odstrcil - 64

65 EXISTS y NOT EXISTS (1) Definiciones: Subconsulta: consulta anidada dentro de otra. Subconsulta correlacionada: subconsulta que utiliza los valores de la consulta externa. La subconsulta se evalúa una vez por cada fila procesada por la consulta externa. Maximiliano Odstrcil - 65

66 EXISTS y NOT EXISTS (2) Se pueden usar las cláusulas EXISTS y NOT EXISTS para determinar la existencia de filas. Formato: [NOT] EXISTS subconsulta Ejemplo: SELECT LastName, EmployeeID FROM FROM Employees e WHERE WHERE EXISTS (SELECT * FROM FROM Orders WHERE WHERE e.employeeid = Orders.EmployeeID AND AND OrderDate = '9/5/97') Maximiliano Odstrcil - 66

67 EXISTS y NOT EXISTS (3) Consideraciones: Devuelven un valor TRUE o FALSE basado en la existencia. La consulta externa prueba la existencia de filas que la subconsulta interna retorna (no produce datos). Maximiliano Odstrcil - 67

68 Modificación de Datos Uso de la sentencia INSERT..SELECT Borrado de filas basadas en otras tablas Modificación de filas basadas en otras tablas Maximiliano Odstrcil - 68

69 Uso de la sentencia INSERT..SELECT (1) Para agregar filas a una tabla existente, se pueden emplear las sentencias INSERT... SELECT: INSERT Customers SELECT SUBSTRING(FirstName, 1, 1, 3) 3) + SUBSTRING(LastName, 1, 1, 2), 2), LastName, FirstName, Title, NULL NULL FROM FROM Employees INSERT Customers SELECT CONCAT(SUBSTRING(FirstName,1,3),SUBSTRING(LastName,1,2)), LastName,FirstName,Title,NULL,NULL,NULL,NULL,NULL,NULL,NULL FROM FROM Employees; Maximiliano Odstrcil - 69

70 Uso de la sentencia INSERT..SELECT (2) Se puede insertar el resultado de una consulta, por más compleja que ésta sea. Consideraciones: Se agregan todas las filas que satisfacen la condición del SELECT. Las columnas de la tabla destino deben tener tipos de datos compatibles a la lista de selección. Se debe determinar la existencia de valores por defecto o valores nulos en caso de omitir alguna columna. Siempre se agregan filas a una tabla solamente. Maximiliano Odstrcil - 70

71 Borrado de filas basadas en otras tablas (1) Para borrar filas basadas en datos almacenados en otras tablas, se puede usar DELETE con joins o subconsultas: SQL Server: DELETE FROM FROM [Order Details] FROM FROM Orders o JOIN JOIN [Order Details] od od ON ON o.orderid = od.orderid WHERE WHERE OrderDdate = '4/14/1998' Maximiliano Odstrcil - 71

72 Borrando filas basadas en otras tablas (2) Si se emplea una subconsulta: SQL Server: DELETE FROM FROM [Order Details] WHERE WHERE OrderID IN IN (SELECT OrderID FROM FROM Orders WHERE WHERE OrderDate = '4/14/1998') MySQL: DELETE FROM FROM `Order Details` WHERE WHERE OrderID IN IN (SELECT OrderID FROM FROM Orders Orders WHERE WHERE OrderDate = '1998/4/14'); Maximiliano Odstrcil - 72

73 Modific. de filas basadas en otras tablas (1) Para modificar filas basadas en datos almacenados en otras tablas, se puede usar UPDATE con joins o subconsultas. UPDATE Products SET SET UnitPrice = UnitPrice + 2 FROM FROM Products JOIN JOIN Suppliers ON ON Products.SupplierID = Suppliers.SupplierID WHERE WHERE Suppliers.Country = 'USA' 'USA' Consideraciones: Nunca se modifica la misma fila dos veces en una sentencia UPDATE. Esta restricción permite el ahorro de mucho tiempo. Usar la cláusula FROM en la sentencia UPDATE. Maximiliano Odstrcil - 73

74 Modificando filas basadas en otras tablas (2) UPDATE Products SET SET UnitPrice = UnitPrice + 2 WHERE WHERE SupplierID IN IN (SELECT SupplierID FROM FROM Suppliers WHERE WHERE Country = 'USA') Consideraciones: La subconsulta se ejecuta una vez para cada fila que va a ser modificada. La subconsulta retorna un único valor. Si la subconsulta no puede retornar un único valor, se pueden usar las cláusulas: IN, EXISTS, ANY y ALL. Considerar el uso de funciones agregadas con subconsultas correlacionadas ya que nunca se calculan los valores 2 veces. Maximiliano Odstrcil - 74

Módulo IV: Consultas Básicas y Avanzadas

Módulo IV: Consultas Básicas y Avanzadas Módulo IV: Consultas Básicas y Avanzadas Ejecución de Consultas Básicas Consultas de Múltiples Tablas Técnicas Avanzadas Maximiliano Odstrcil - 1 Ejecución de Consultas Básicas Recuperación de Datos Formato

Más detalles

Recuperación de datos

Recuperación de datos Recuperación de datos Contenido Introducción 1 Recuperar datos de tablas mediante la instrucción SELECT 2 Filtrar los datos 8 Dar formato a los conjuntos de resultados 21 Cómo se procesan las consultas

Más detalles

Modificación de datos

Modificación de datos Modificación de datos Introducción Uso de transacciones Inserción de datos Eliminación de datos Actualización de datos Consideraciones acerca del rendimiento Uso de transacciones Iniciar transacciones

Más detalles

Modificación de datos

Modificación de datos Modificación de datos Contenido Introducción 1 Uso de transacciones 2 Inserción de datos 4 Eliminación de datos 15 Actualización de datos 20 Consideraciones acerca del rendimiento 24 Modificación de datos

Más detalles

Combinación de varias tablas

Combinación de varias tablas Combinación de varias tablas Contenido Introducción Uso de alias en los nombres de tablas 2 Combinación de datos de varias tablas 4 Combinación de varios conjuntos de resultados 20 Combinación de varias

Más detalles

SQL Server 2000. FEMEPA SQL Server 2000

SQL Server 2000. FEMEPA SQL Server 2000 FEMEPA Partes del SQL El lenguaje SQL está compuesto de varios sub-lenguajes, entre los cuales destacan los tres siguientes: DML. Lenguaje de definición de datos. Todas las sentencias de manipulación de

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN CICLO 3-2016 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN GUÍA DE LABORATORIO Nº 8 Nombre de la práctica: Consultas a múltiples tablas. Uso de JOIN y SUBCONSULTAS. Lugar

Más detalles

Implementación de desencadenadores

Implementación de desencadenadores Implementación de desencadenadores Introducción Introducción a los desencadenadores Definición de desencadenadores Funcionamiento de los desencadenadores Ejemplos de desencadenadores Consideraciones acerca

Más detalles

SQL DML Select. Ges$ón y Modelación de Datos. María Constanza Pabón

SQL DML Select. Ges$ón y Modelación de Datos. María Constanza Pabón SQL DML Select Ges$ón y Modelación de Datos María Constanza Pabón mcpabon@javerianacali.edu.co SQL - DML Sentencias: INSERT UPDATE DELETE SELECT SQL - DML Query (consulta): proceso de recuperar datos de

Más detalles

Implementación de vistas

Implementación de vistas Implementación de vistas Introducción Introducción a las vistas Ventajas de las vistas Definición de vistas Modificación de datos mediante vistas Optimización del rendimiento mediante vistas Práctica:

Más detalles

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT Introducción Objetivos I-2 Objetivos del Curso I-3 Oracle11g - 12cI-5 Oracle Database 11g - 12cI-6 Oracle Application Server 11g - 12cI-7 Oracle Enterprise Manager 11g - 12cGrid Control I-8 Sistema de

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION CICLO 01-2012 GUIA DE LABORATORIO Nº 7 Nombre de la practica: Agrupación y sumarización en SQL Server 2008 Lugar de ejecución:

Más detalles

MATERIAL INTRODUCTORIO ORACLE 11G

MATERIAL INTRODUCTORIO ORACLE 11G MATERIAL INTRODUCTORIO ORACLE 11G Esp. JONATHAN GUERRERO ASTAIZA Capacidades de una sentencia SELECT La sentencia SELECT recibe información a partir de una base de datos. Con la sentencia SELECT usted

Más detalles

Insertar Datos en Tablas

Insertar Datos en Tablas Insertar Datos en Tablas La instrucción básica para insertar valores a los atributos (columnas) de una tabla es la instrucción INSERT INTO Insertar una sola tupla Para insertar una tupla en la tabla, se

Más detalles

Usando los operadores SET (Conjunto)

Usando los operadores SET (Conjunto) Usando los operadores SET (Conjunto) Objetivos del capítulo Describir los operadores SET (Conjunto) Usar un operador SET (Conjunto) para combinar múltiples consultas en una consulta simple Controlar el

Más detalles

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1

ÍNDICE. Introducción... Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1 ÍNDICE Introducción... XI Capítulo 1. Características, instalación, inicio y entorno de trabajo... 1 Características y novedades de Access 2010... 1 Comienzo rápido del trabajo y seguimiento de la información...

Más detalles

Manual de Sentencias Básicas en SQL

Manual de Sentencias Básicas en SQL Manual de Sentencias Básicas en SQL Pues hoy que he estado enredando un rato con MySQl, y me he acordado de aquellos comienzos en los que tenía que volver a mis antiguos apuntes para lograr entender las

Más detalles

Implementación de funciones definidas por el usuario

Implementación de funciones definidas por el usuario Implementación de funciones definidas por el usuario Contenido Introducción 1 Qué es una función definida por el usuario? 2 Definición de funciones definidas por el usuario 3 Ejemplos de funciones definidas

Más detalles

Computación Web (Curso 2015/2016)

Computación Web (Curso 2015/2016) Bases de Datos (I) Computación Web (Curso 2015/2016) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (I) p. 1 Bases de datos relacionales Colección de datos almacenados en una o más tablas. Las tablas

Más detalles

Clase 4: SQL DDL DML Consultas Simples y Multitablas. BASE DE DATOS FAC.DE INGENIERIA - UNJu

Clase 4: SQL DDL DML Consultas Simples y Multitablas. BASE DE DATOS FAC.DE INGENIERIA - UNJu Clase 4: SQL DDL DML Consultas Simples y Multitablas BASE DE DATOS FAC.DE INGENIERIA - UNJu SQL (Structured query language) Es un lenguaje de consulta estructurado, surgido de un proyecto de investigación

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION CICLO 01-2012 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO Nº 8 Nombre de la practica: Combinación de tablas Lugar de ejecución: Laboratorio de Informática

Más detalles

Introducción a Transact-SQL

Introducción a Transact-SQL Introducción a Transact-SQL Introducción E lenguaje de programación Transact-SQL Tipos de instrucciones de Transact-SQL Elementos de la sintaxis de Transact-SQL El lenguaje de programación Transact-SQL

Más detalles

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL)

LENGUAJE DE CONSULTA ESTRUCTURADO (SQL) Qué es una base de datos? Una base de datos (cuya abreviatura es BD) es una entidad en la cual se pueden almacenar datos de manera estructurada, con la menor redundancia posible. Diferentes programas y

Más detalles

SQL SERVER SQL Server 2005 permite tres tipos de operaciones con conjuntos: UNION, disponible en todas las versiones de SQL Server.

SQL SERVER SQL Server 2005 permite tres tipos de operaciones con conjuntos: UNION, disponible en todas las versiones de SQL Server. SQL SERVER 2005 Operaciones con Conjuntos SQL Server 2005 permite tres tipos de operaciones con conjuntos: UNION, disponible en todas las versiones de SQL Server. EXCEPT, nuevo en SQL Server 2005. INTERSECT,

Más detalles

Módulo V: Resumen de Datos y Vistas

Módulo V: Resumen de Datos y Vistas Módulo V: Resumen de Datos y Vistas Resumen de Datos Implementación de Vistas Maximiliano Odstrcil - 1 Resumen de Datos Uso de Funciones Agregadas Fundamentos de GROUP BY Generación de Valores Agregados

Más detalles

ADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1

ADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1 ADMINISTRACION DE ORACLE 9i Guía de estudio (OCA) TEMA 1 TEMA 1. CONSULTAS BÁSICAS Fundamentos de SQL Tipos de datos, operadores y literales Sentencia SELECT Limitación de filas y operadores Ordenación

Más detalles

Práctica A: Modificación de datos

Práctica A: Modificación de datos Modificación de datos 1 Práctica A: Modificación de datos Objetivos Después de realizar esta práctica, el alumno será capaz de: Modificar los datos de las tablas con las instrucciones INSERT, DELETE y

Más detalles

El SQL es un lenguaje estándar de programación para el acceso a bases de datos.

El SQL es un lenguaje estándar de programación para el acceso a bases de datos. El SQL es un lenguaje estándar de programación para el acceso a bases de datos. El lenguaje SQL se utiliza para acceder y manipular datos en cualquier base de datos del mercado, como por ejemplo, para

Más detalles

Modelamiento y Gestión de Base de Datos

Modelamiento y Gestión de Base de Datos Modelamiento y Gestión de Base de Datos Uso de sentencias para el envió y extracción de datos Objetivos: Identificar la sintaxis de las consultas de datos Elaborar sentencias de manejo de datos. INTRODUCCION:

Más detalles

Oracle Fundamentos. Programa de Estudio.

Oracle Fundamentos. Programa de Estudio. Oracle Fundamentos Programa de Estudio Oracle Fundamentos Aprende a programar en SQL con la base de datos más poderosa del mercado. Diseña y modela bases de datos corporativas utilizando las herramientas

Más detalles

SQL. Amparo López Gaona. México, D.F. Noviembre 2003

SQL. Amparo López Gaona. México, D.F. Noviembre 2003 Amparo López Gaona México, D.F. Noviembre 2003 Introducción El lenguaje SQL (Structured Query Language) es el lenguaje estándar para trabajo con bases de datos relacionales. Permite la definición, acceso

Más detalles

SQL: Lenguaje de Interrogación Estructurado

SQL: Lenguaje de Interrogación Estructurado SQL: Lenguaje de Interrogación Estructurado SQL Es el lenguaje para Bases de Datos Relacionales más usado Es un lenguaje declarativo: QUÉ no CÓMO El núcleo fundamental se basa en el Algebra Relacional,

Más detalles

Práctica A: Implementación de la integridad de datos

Práctica A: Implementación de la integridad de datos Implementación de la integridad de datos 1 Práctica A: Implementación de la integridad de datos Objetivos Después de realizar esta práctica, el alumno será capaz de: Definir y utilizar las restricciones

Más detalles

Tema: Combinación de tablas

Tema: Combinación de tablas Base de datos I. Guía 4 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: Combinación de tablas Objetivo Específico Utilice alias en los nombres de las tablas. Combine datos

Más detalles

8 SQL SERVER 2008 RA-MA

8 SQL SERVER 2008 RA-MA ÍNDICE Capítulo 1. Características, novedades y entorno de trabajo... 17 1.1 Novedades en SQL Server 2008... 17 1.2 Instalación de Microsoft SQL Server 2008... 19 1.3 Versiones de Microsoft SQL Server

Más detalles

Implementación de procedimientos almacenados

Implementación de procedimientos almacenados Implementación de procedimientos Introducción Introducción a los procedimientos Creación, ejecución, modificación y eliminación de procedimientos Utilización de parámetros en los procedimientos Ejecución

Más detalles

Tema: USO DE COMBINACIONES EXTERNAS.

Tema: USO DE COMBINACIONES EXTERNAS. Base de datos I. Guía 5 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: USO DE COMBINACIONES EXTERNAS. Objetivo Específico Definir las combinaciones externas Conocer el uso

Más detalles

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO?

ORACLE 10g. Descripción A QUIEN VA DIRIGIDO? ORACLE 10g Descripción A QUIEN VA DIRIGIDO? Está dirigido a estudiantes y profesionista que desee conocer la tecnología Oracle, así como realizar extracción de datos, creación de objetos y administración

Más detalles

LENGUAJE DE MANIPULACIÓN DE DATOS

LENGUAJE DE MANIPULACIÓN DE DATOS LENGUAJE DE MANIPULACIÓN DE DATOS Las instrucciones de DML funcionan con los datos de la base de datos. Mediante estas instrucciones puede cambiarlos o recuperar información. Las instrucciones de DML incluyen:

Más detalles

SQL SERVER Curso Teórico-Práctico

SQL SERVER Curso Teórico-Práctico SQL SERVER 2008-2012 Curso Teórico-Práctico IMPLEMENTACION DE LA BASE DE DATOS Nomenclatura Todas las tablas tendrán: - Un identificador de tipo entero auto numérico. Ésta será la clave primaria. La denominamos

Más detalles

Procedimientos alm l a m cenados

Procedimientos alm l a m cenados Procedimientos Introducción Introducción a los procedimientos Creación, ejecución, modificacióny eliminación de procedimientos Utilizaciónde parámetrosen los procedimientos Ejecución de procedimientos

Más detalles

Lenguaje de manipulación de datos

Lenguaje de manipulación de datos Introducción Lenguaje de manipulación de datos (Data Manipulation Language) Permite a los usuarios llevar a cabo las tareas de consulta o manipulación de la BD. El más popular es SQL. Tablas de ejemplo

Más detalles

Tema: SUBCONSULTAS Y CREACION DE VISTAS.

Tema: SUBCONSULTAS Y CREACION DE VISTAS. Base de datos I. Guía 6 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: SUBCONSULTAS Y CREACION DE VISTAS. Objetivo Específico Definir que es una subsonsulta Utilizar vistas

Más detalles

ÍNDICE INTRODUCCIÓN...17

ÍNDICE INTRODUCCIÓN...17 ÍNDICE INTRODUCCIÓN...17 CAPÍTULO 1. ORACLE 11g Y EL GRID COMPUTING...19 1.1 CONCEPTO DE GRID COMPUTING...19 1.2 ORACLE GRID COMPUTING...20 1.2.1 Almacenamiento eficiente de la información...21 1.2.2 Utilización

Más detalles

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA

8 MICROSOFT SQL SERVER 2008 R2. CURSO PRÁCTICO RA-MA ÍNDICE CAPÍTULO 1. CARACTERÍSTICAS, NOVEDADES Y ENTORNO DE TRABAJO...17 1.1 NOVEDADES EN SQL SERVER 2008 R2...17 1.2 INSTALACIÓN DE MICROSOFT SQL SERVER 2008 R2...18 1.3 VERSIONES DE MICROSOFT SQL SERVER

Más detalles

Bases de Datos 1. Teórico: Structured Query Language

Bases de Datos 1. Teórico: Structured Query Language Bases de Datos 1 Teórico: Structured Query Language Historia Los orígenes del SQL están ligados a los orígenes de las bases de datos relacionales Estandarizado por ANSI en 1986 (SQL-86) Hubieron varias

Más detalles

Manual Aprendiendo Practicando Oracle SQL (Spanish Edition) Click here if your download doesn"t start automatically

Manual Aprendiendo Practicando Oracle SQL (Spanish Edition) Click here if your download doesnt start automatically Manual Aprendiendo Practicando Oracle SQL (Spanish Edition) Click here if your download doesn"t start automatically Manual Aprendiendo Practicando Oracle SQL (Spanish Edition) Manual Aprendiendo Practicando

Más detalles

Restricción y Clasificación de los Datos. Copyright Oracle Corporation, All rights reserved.

Restricción y Clasificación de los Datos. Copyright Oracle Corporation, All rights reserved. 2 Restricción y Clasificación de los Datos Copyright Oracle Corporation, 1998. All rights reserved. Objetivos Al completar esta lección, debería a ser capaz de hacer lo siguiente: Limitar los registros

Más detalles

A.1. Definiciones de datos en SQL

A.1. Definiciones de datos en SQL A.1. Definiciones de datos en SQL Las Sentencias del lenguaje de definición de datos (DDL) que posee SQL operan en base a tablas. Las Principales sentencias DDL son las siguientes: CREATE TABLE DROP TABLE

Más detalles

Modelamiento y Diseño de Base de Datos

Modelamiento y Diseño de Base de Datos Modelamiento y Diseño de Base de Datos Sub consultas y vistas Objetivos: Elaborar sub consultas, a partir de una consulta. Generar diferentes vistas a partir de las tablas de una base de datos. Introducción

Más detalles

Universidad Capitán General Gerardo Barrios. Facultad de Ciencia y Tecnología

Universidad Capitán General Gerardo Barrios. Facultad de Ciencia y Tecnología Universidad Capitán General Gerardo Barrios Facultad de Ciencia y Tecnología Guía práctica de Base de Datos I Sentencias básicas de SQL, utilizadas en Mysql, con la base de datos Northwind. Docente: Lic.Ms.

Más detalles

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ]

SINTAXIS DE SQL-92. <definición de esquema >::= CREATE SCHEMA <cláusula de nombre de esquema> [ <elemento de esquema>... ] SINTAXIS DE SQL-92 Introducción: Se presenta brevemente un resumen de la sintaxis de SQL según el estándar ISO 9075 (SQL- 92), dividido en tres partes: - Lenguaje de Definición de Daots (LDD), - Lenguaje

Más detalles

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) El lenguaje de consulta estructurado o SQL (por sus siglas en inglés Structured Query Language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite

Más detalles

Máster en Data Analytics SQL

Máster en Data Analytics SQL Máster en Data Analytics SQL SQL Structured Query Language = Lenguaje de consulta estructurada Lenguaje que permite: - Definición - Manipulación Datos - Control Hoy vamos a trabajar con MySQL Toda la

Más detalles

SQL: Consultas Avanzadas. Bases de Datos

SQL: Consultas Avanzadas. Bases de Datos SQL: Consultas Avanzadas Bases de Datos Resumen: Consultas Básicas SELECT [DISTINCT] FROM [WHERE ] [GROUP BY ] [HAVING

Más detalles

SUBCONSULTAS SQL. Cuando se ejecuta una consulta que contiene una subconsulta, la subconsulta se ejecuta por cada fila de la consulta principal.

SUBCONSULTAS SQL. Cuando se ejecuta una consulta que contiene una subconsulta, la subconsulta se ejecuta por cada fila de la consulta principal. SUBCONSULTAS SQL DEFINICION. Una subconsulta es una sentencia SELECT que aparece dentro de otra sentencia SELECT que llamaremos consulta principal. Se puede encontrar en la lista de selección, en la cláusula

Más detalles

CC BASES DE DATOS PRIMAVERA Clase 7: SQL (II) Aidan Hogan

CC BASES DE DATOS PRIMAVERA Clase 7: SQL (II) Aidan Hogan CC3201-1 BASES DE DATOS PRIMAVERA 2016 Clase 7: SQL (II) Aidan Hogan aidhog@gmail.com El Cálculo Relacional (de tuplas) Fórmulas atómicas: Una fórmula puede ser Una fórmula atómica o Sean (recursivamente)

Más detalles

Programación con SQL Server

Programación con SQL Server Programación con SQL Server Programa de Estudio Programación con SQL Server Desarrolla complejas y performantes consultas en SQL Server. Aprende a desarrollar programas desde cero aplicando los últimos

Más detalles

Tutorial MySql - 1 -

Tutorial MySql - 1 - Tutorial MySql - 1 - Índice 1 - Introducción...4 2 - show databases...5 3 - Creación de una tabla y mostrar sus campos (create table - show tables - describe - drop table)...6 4 - Carga de registros a

Más detalles

T07 Opciones de integridad referencial

T07 Opciones de integridad referencial 1 de 9 17/05/2013 13:48 Lecciones SQL > T07 Opciones de integridad referencial Contenidos 1 Las opciones para mantener la integridad Las opciones para mantener la integridad referencial 2 On delete referencial

Más detalles

Desarrollo Web en Entorno Servidor

Desarrollo Web en Entorno Servidor Desarrollo Web en Entorno Servidor Tema 7. Apuntes sobre MySql y otros SGBD. 1. Conectar con la base de datos. 2. Sentencias de definición de datos (DDL): 3. Sentencias de control de trabajos (DCL). 4.

Más detalles

Computación Web (Curso 2015/2016)

Computación Web (Curso 2015/2016) Bases de Datos (II) Computación Web (Curso 2015/2016) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (II) p. 1 Consultas OUTER JOIN Una limitación de las consultas INNER JOIN es que requieren que

Más detalles

Programación con SQL Server

Programación con SQL Server Programación con SQL Server Programa de Estudio Programación con SQL Server Desarrolla complejas y performantes consultas en SQL Server. Aprende a desarrollar programas desde cero aplicando los últimos

Más detalles

Características del lenguaje SQL

Características del lenguaje SQL Lenguaje SQL Características del lenguaje SQL Es el lenguaje estándar para realizar operaciones en bases de datos relacionales. Instrucciones: SELECT Consulta. Su implementación está basada en álgebra

Más detalles

UNIVERSIDAD NACIONAL DE CAJAMARCA MANUAL DE CONSULTAS SQL SERVER 2008 R2 CURSO: BASE DE DATOS I ING. APARICIO

UNIVERSIDAD NACIONAL DE CAJAMARCA MANUAL DE CONSULTAS SQL SERVER 2008 R2 CURSO: BASE DE DATOS I ING. APARICIO 1 UNIVERSIDAD NACIONAL DE CAJAMARCA MANUAL DE CONSULTAS SQL SERVER 2008 R2 CURSO: BASE DE DATOS I E ING. APARICIO 2 CONSULTAS EN SQL SERVER 2008 R2 1. Seleccionar los clientes que viven en el país de "usa"

Más detalles

Objetivos: Descripción del curso. Curso: Dirigido a: INTRODUCCIÓN A SQL - ORACLE UNIVERSIDAD NACIONAL DE INGENIERÍA

Objetivos: Descripción del curso. Curso: Dirigido a: INTRODUCCIÓN A SQL - ORACLE UNIVERSIDAD NACIONAL DE INGENIERÍA INTRODUCCIÓN A SQL - ORACLE Duración: 24 hrs. Código: INSQL Curso: Descripción del curso El curso se desarrollará bajo la modalidad de un taller, desarrollando casos prácticos con los conocimientos obtenidos.

Más detalles

Un proyecto de IBM llamado Sistem/R construye un prototipo simple llamado SQUARE que después se transformó en SQL.

Un proyecto de IBM llamado Sistem/R construye un prototipo simple llamado SQUARE que después se transformó en SQL. CONTENIDO: 1. Lenguaje SQL 1. Componentes 2. Comandos 3. Clausulas 4. Operadores lógicos 5. Operadores de comparación 6. Funciones de agregado 2. MYSQL 1. Como entrar a MySQL 2. Comandos generales 3. Sintaxis

Más detalles

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc).

LENGUAJE SQL. En Mysql se utiliza un subconjunto de SQL (update, insert into, delete, select, truncate,etc). LENGUAJE SQL Un manejador de base de datos debe de contener lenguajes que permitan definir el modelos de los datos, este mismo es que permite crear la estructura de la base de datos. Lenguaje de Definicion

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION CICLO 01-2016 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO Nº 5 Nombre de la practica: Uso de consultas utilizando la instrucción SELECT Lugar de ejecución:

Más detalles

Data source name: Nombre por el que se conocerá la conexión ODBC y que será usado en los distintos clientes del driver ODBC.

Data source name: Nombre por el que se conocerá la conexión ODBC y que será usado en los distintos clientes del driver ODBC. Página 1 de 16 Odbc Driver V7 Se trata del driver de acceso a datos Velneo. Satisface los siguientes estándares ODBC: - Driver ODBC Version: 3.00 - ODBC Version: 3.52 - ODBC API Conformance Level 1 - ODBC

Más detalles

Uso de SQL. "WHERE id = " + cuentas[i].getid() o bien ResulSet r =s.executequery("select nombre FROM alumno" + "WHERE id = " + cuentas[i].

Uso de SQL. WHERE id =  + cuentas[i].getid() o bien ResulSet r =s.executequery(select nombre FROM alumno + WHERE id =  + cuentas[i]. Introducción El lenguaje (Structured Query Language) es el lenguaje estándar para trabajo con bases de datos relacionales. Permite la definición, acceso y control de datos en una base de datos relacional.

Más detalles

Tema 7. Elaboración de consultas básicas de selección. Lenguajes de bases de datos. SQL básico 15/12/2011

Tema 7. Elaboración de consultas básicas de selección. Lenguajes de bases de datos. SQL básico 15/12/2011 Lenguajes de bases de datos Tema 7 Elaboración de consultas básicas de selección En esta unidad se abordan cuestiones que, aunque están definidas por el estándar ANSI/ISO SQL, no están asumidas al 100%

Más detalles

Computación Web (Curso 2013/2014)

Computación Web (Curso 2013/2014) Bases de Datos (II) Computación Web (Curso 2013/2014) Jesús Arias Fisteus // jaf@it.uc3m.es Bases de Datos (II) p. 1 Consultas OUTER JOIN Una limitación de las consultas INNER JOIN es que requieren que

Más detalles

Implementación de la integridad de datos

Implementación de la integridad de datos Implementación de la integridad de datos Introducción Tipos de integridad de datos Exigir la integridad de los datos Definición de restricciones Tipos de restricciones Deshabilitación de restricciones

Más detalles

Implementación de funciones definidas por el usuario

Implementación de funciones definidas por el usuario Implementación de funciones definidas por el usuario Introducción Qué es una función definida por el usuario? Definición de funciones definidas por el usuario Ejemplos de funciones definidas por el usuario

Más detalles

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas)

Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Base de Datos Oracle 10g: Introducción a SQL Código: D17216 - Duración: 5 días (40 horas) Lo que aprenderá Esta clase es aplicable para los usuarios de Oracle8i, Oracle9i y Oracle Database 10g. En este

Más detalles

INTRODUCCIÓN A LAS BASES DE DATOS. L.I Gerardo Benavides Pérez

INTRODUCCIÓN A LAS BASES DE DATOS. L.I Gerardo Benavides Pérez INTRODUCCIÓN A LAS BASES DE DATOS L.I Gerardo Benavides Pérez SISTEMA GESTOR DE BASE DE DATOS Un sistema gestor de bases de datos (SGBD) consiste en una colección de datos interrelacionados y un conjunto

Más detalles

Consulta - -- borrado de lavado del Página número 1

Consulta - -- borrado de lavado del Página número 1 Consulta - -- borrado de lavado del Página número 1 ---- Pensar en casos en los que any/some o all devuelven todos los valores o ninguno e n las posibles --mezclas de < > = =!= con any/some y all.

Más detalles

Capítulo 4. Realización de consultas

Capítulo 4. Realización de consultas Capítulo 4 Realización de consultas ÍNDICE CAPÍTULO 4 Introducción sentencia SELECT Base de datos de ejemplo Consultas básicas Cláusula ORDER BY Cláusula DISTINCT Cláusula LIMIT Expresiones Funciones propias

Más detalles

SQL (DML) Carlos A. Olarte (carlosolarte@puj.edu.co) Gestión y Modelación de SQL Datos (DML)

SQL (DML) Carlos A. Olarte (carlosolarte@puj.edu.co) Gestión y Modelación de SQL Datos (DML) SQL (DML) Carlos A. Olarte (carlosolarte@puj.edu.co) Gestión y Modelación de Datos Outline 1 Actualización, Inserción y Modificación 2 Consultas (Queries) 3 Renombramiento 4 Ordenamiento 5 Reuniones 6

Más detalles

1. DML. Las consultas multitabla

1. DML. Las consultas multitabla 1.1 Introducción 1. DML. Las consultas multitabla Hasta ahora hemos visto consultas que obtienen los datos de una sola tabla, en este tema veremos cómo obtener datos de diferentes tablas en una sola instrucción

Más detalles

ÍNDICE PRIMERA PARTE... 17

ÍNDICE PRIMERA PARTE... 17 ÍNDICE PREFACIO... xv PRIMERA PARTE... 17 CAPÍTULO 1. BASES DE DATOS... 19 BASE DE DATOS RELACIONAL... 20 ESTRUCTURA MÍNIMA DE ALMACENAMIENTO... 21 EJEMPLO DE TABLA... 22 RESUMEN... 23 CAPÍTULO 2. CONSULTAS

Más detalles

ÍNDICE. Introducción... XVII. Capítulo 1. Oracle 10g y el Grid Computing... 1

ÍNDICE. Introducción... XVII. Capítulo 1. Oracle 10g y el Grid Computing... 1 ÍNDICE Introducción... XVII Capítulo 1. Oracle 10g y el Grid Computing... 1 Necesidad del Grid Computing... 1 Concepto de Grid Computing... 4 Oracle Grid Computing... 5 Almacenamiento eficiente de información...

Más detalles

Consultas con combinaciones

Consultas con combinaciones UNIDAD 1.- PARTE 2 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Consultas con combinaciones Usando combinaciones (joins), se pueden

Más detalles

SQL: Lenguaje de Consulta Estructurado Prof. Jeand Duno

SQL: Lenguaje de Consulta Estructurado Prof. Jeand Duno SQL: Lenguaje de Consulta Estructurado Partes del SQL Lenguaje de Definición de Datos (DDL):Proporciona comandos para definir los objetos de la base de datos. Lenguaje de Manipulación de Datos(DML): Proporciona

Más detalles

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1

ÍNDICE. Introducción... Capítulo 1. Novedades de Access 2013... 1 Introducción... XIII Capítulo 1. Novedades de Access 2013... 1 Nuevas posibilidades de cifrado, compactación y reparación de archivos... 1 Trabajo en la nube... 2 Compartir la información... 3 Guardar

Más detalles

SQL. Carlos A. Olarte BDI

SQL. Carlos A. Olarte BDI Carlos A. Olarte (carlosolarte@puj.edu.co) BDI Outline 1 Introducción 2 Select... from... where 3 Renombramiento 4 Ordenamiento 5 Reuniones 6 Operaciones sobre conjuntos 7 Funciones de Agregación 8 Subconsultas

Más detalles

Trabajo con Subconsultas

Trabajo con Subconsultas Trabajo con Subconsultas Contenido Contenido Introducción 1 Introducción a las subconsultas 2 Uso de una subconsulta como una tabla derivada 4 Uso de una subconsulta como una expresión 5 Uso de una subconsulta

Más detalles

Consultas Complejas:

Consultas Complejas: Consultas Complejas: SELECCIÓN-AGRUPAMIENTO Un grupo se puede entender como un conjunto de filas con el mismo valor para el conjunto de columnas por las que se agrupa (las incluidas en la cláusula GROUP

Más detalles

3ra. Parte. Bases de Datos Relacionales

3ra. Parte. Bases de Datos Relacionales 3ra. Parte Bases de Datos Relacionales Lenguaje de consulta SQL Proyección Tabla 1 Selección Tabla 1 Tabla 1 Tabla 2 Unión Lenguaje SQL SELECT SELECT [TOP expresión [PERCENT] [ WITH TIES ] ]

Más detalles

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros

Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros Unidad III: Lenguaje de manipulación de datos (DML) 3.1 Inserción, eliminación y modificación de registros La sentencia INSERT permite agregar nuevas filas de datos a las tablas existentes. Está sentencia

Más detalles

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008

TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 TRANSACT-SQL, DISEÑO Y PROGRAMACIÓN DE BASES DE DATOS EN SQL SERVER 2008 ESTRUCTURA DEL SEMINARIO Modulo 1: Crear y administrar una base de datos SQL Server Métodos para crear una base de datos SQLServer.

Más detalles

SQL, Consultas. Son Importantes las Consultas? Cuál es el Resultado de SELECT? Andrés Moreno S.

SQL, Consultas. Son Importantes las Consultas? Cuál es el Resultado de SELECT? Andrés Moreno S. SQL, Consultas Andrés Moreno S. 1 Son Importantes las Consultas? Una cosa es guardar la información en forma estructurada y ordenada. Pero el utilizar la información y entender su relevancia son la clave

Más detalles

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales

UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES. Xochitl Clemente Parra Armando Méndez Morales UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Práctica preliminar Crear la siguiente base de datos de prácticas

Más detalles

Manual Buenas Prácticas Codificación SQL Server MANUAL DE REFERENCIA. v. 1.0

Manual Buenas Prácticas Codificación SQL Server MANUAL DE REFERENCIA. v. 1.0 Manual Buenas Prácticas Codificación MANUAL DE REFERENCIA v. 1.0 Historia de Revisión MANUAL BUENAS PRÁCTICAS CODIFICACIÓN Fecha Versión Descripción Autor 1.0 Creación del Manual Ricardo Larriega 06/11/2012

Más detalles

Introducción. Definición. Definición 17/12/2011. Unidad 7 Elaboración de consultas básicas de selección.

Introducción. Definición. Definición 17/12/2011. Unidad 7 Elaboración de consultas básicas de selección. Unidad 7 Elaboración de consultas básicas de selección. Introducción A veces, para realizar alguna operación de consulta, necesitamos los datos devueltos por otra consulta Subconsultas Definición Las subconsultas

Más detalles

Práctica A: Trabajo con subconsultas

Práctica A: Trabajo con subconsultas Trabajo con Subconsultas 1 Práctica A: Trabajo con subconsultas Objetivos Después de realizar esta práctica, el alumno será capaz de: Usar una subconsulta como tabla derivada Usar una subconsulta como

Más detalles

Anexo 3 COMPONENTES DE SQL SERVER. Los DDL (Data Definition Languaje) que permiten crear y definir nuevas

Anexo 3 COMPONENTES DE SQL SERVER. Los DDL (Data Definition Languaje) que permiten crear y definir nuevas Anexo 3 COMPONENTES DE SQL SERVER COMANDOS Existen tres tipos de comandos SQL [5]: Los DDL (Data Definition Languaje) que permiten crear y definir nuevas bases de datos, campos e índices. En la tabla se

Más detalles

Crear BD en. Isis Bonet Cruz, PhD

Crear BD en. Isis Bonet Cruz, PhD Crear BD en Isis Bonet Cruz, PhD SQL Server Microsoft SQL Server es un sistema de administración y análisis de bases de datos relacionales de Microsoft para soluciones de comercio electrónico, línea de

Más detalles