Você está na página 1de 24

Mdulo 3: Recuperacin de datos

Introduccin

Recuperar datos de tablas mediante la instruccin SELECT

Filtrar los datos


Dar formato a los conjuntos de resultados

Cmo se procesan las consultas


Consideraciones acerca del rendimiento

Recuperacin de datos mediante la instruccin SELECT

Uso de la instruccin SELECT Especificacin de columnas Uso de la clusula WHERE para especificar filas

Uso de la instruccin SELECT

La lista de seleccin especifica las columnas La clusula WHERE especifica las condiciones de restriccin de la consulta La clusula FROM especifica la tabla

Sintaxis parcial SELECT [ALL | DISTINCT] <listaSeleccin> FROM <tablaOrigen> [,n] WHERE <condicinBsqueda>

Especificacin de columnas
USE northwind SELECT employeeid, lastname, firstname, title FROM employees GO

employeeid
1 2

lastname
Davolio Fuller

firstname
Nancy Andrew

title
Sales Representative Vice President, Sales

3
4 5 6

Leverling
Peacock Buchanan Suyama

Janet
Margaret Steven Michael

Sales Representative
Sales Representative Sales Manager Sales Representative

7
8 9

King
Callahan Dodsworth

Robert
Laura Anne

Sales Representative
Inside Sales Coordinator Sales Representative

Uso de la clusula WHERE para especificar filas

USE northwind SELECT employeeid, lastname, firstname, title FROM employees WHERE employeeid = 5 GO

employeeid 5

lastname Buchanan

firstname Steven

title Sales Manager

Filtros de datos

Uso de los operadores de comparacin Uso de comparaciones de cadenas Uso de operadores lgicos Obtencin de un intervalo de valores

Uso de una lista de valores como criterio de bsqueda


Obtencin de valores desconocidos

Uso de los operadores de comparacin


USE northwind SELECT lastname, city FROM employees WHERE country = 'USA' GO
Ejemplo 1

lastname
Davolio Fuller Leverling Peacock Callahan

city
Seattle Tacoma Kirkland Redmond Seattle

Uso de comparaciones de cadenas

USE northwind SELECT companyname FROM customers WHERE companyname LIKE '%Restaurant%' GO

companyname GROSELLA-Restaurante Lonesome Pine Restaurant Tortuga Restaurante

Uso de operadores lgicos

USE northwind SELECT productid, productname, supplierid, unitprice FROM products WHERE (productname LIKE 'T%' OR productid = 46) AND (unitprice > 16.00) GO

Ejemplo 1

productid 14 29 62

productname Tofu Thringer Rostbratwurst Tarte au sucre

supplierid unitprice 6 23.25 12 123.79 29 49.3

Obtencin de un intervalo de valores


USE northwind SELECT productname, unitprice FROM products WHERE unitprice BETWEEN 10 AND 20 GO
Ejemplo 1

productname Chai Chang Aniseed Syrup Genen Shouyu Pavlova Sir Rodney's Scones

unitprice 18 19 10 15.5 17.45 10

Uso de una lista de valores como criterio de bsqueda


USE northwind SELECT companyname, country FROM suppliers WHERE country IN ('Japan', 'Italy') GO
Ejemplo 1

companyname Tokyo Traders Mayumi's Formaggi Fortini s.r.l. Pasta Buttini s.r.l.

country Japan Japan Italy Italy

Obtencin de valores desconocidos


USE northwind SELECT companyname, fax FROM suppliers WHERE fax IS NULL GO

companyname

fax

Exotic Liquids New Orleans Cajun Delights Tokyo Traders Cooperativa de Quesos 'Las Cabras'

NULL NULL NULL NULL

Dar formato a los conjuntos de resultados

Ordenacin de los datos Eliminacin de filas duplicadas Cambio del nombre de las columnas Uso de literales

Ordenacin de los datos


USE northwind SELECT productid, productname, categoryid, unitprice FROM products ORDER BY categoryid, unitprice DESC GO
Ejemplo 1

productid 38 43 2 63 8 61

productname Cte de Blaye Ipoh Coffee Chang Vegie-spread Northwoods Cranberry Sauce Sirop d'rable

categoryid 1 1 1 2 2 2

unitprice 263.5000 46.0000 19.0000 43.9000 40.0000 28.5000

Eliminacin de filas duplicadas


country Australia Brazil Canada Denmark Finland France Germany Italy Japan Netherlands Norway Singapore Spain Sweden UK USA

Ejemplo 1

USE northwind SELECT DISTINCT country FROM suppliers ORDER BY country GO

Cambio del nombre de las columnas


USE northwind SELECT firstname AS First, lastname AS Last ,employeeid AS 'Employee ID:' FROM employees GO

First Nancy Andrew Janet Margaret Steven Michael Robert Laura Anne

Last Davolio Fuller Leverling Peacock Buchanan Suyama King Callahan Dodsworth

Employee ID: 1 2 3 4 5 6 7 8 9

Uso de literales
USE northwind SELECT firstname, lastname ,'Nmero de identificacin:', employeeid FROM employees GO

First Nancy Andrew Janet Margaret Steven Michael Robert Laura Anne

Last Davolio Fuller Leverling Peacock Buchanan Suyama King Callahan Dodsworth

Employee ID: Nmero de identificacin: 1 Nmero de identificacin: 2 Nmero de identificacin: 3 Nmero de identificacin: 4 Nmero de identificacin: 5 Nmero de identificacin: 6 Nmero de identificacin: 7 Nmero de identificacin: 8 Nmero de identificacin: 9

Cmo se procesan las consultas


Consultas no almacenadas en cach (ad hoc)

Analizar

Resolver

Optimizar

Compilar

Ejecutar

Consultas almacenadas en cach


Primera ejecucin
Analizar Resolver Optimizar Compilar Ejecutar

Ejecucin posterior

Procedimiento en cach

Ejecutar

Cmo se almacenan automticamente las consultas en memoria cach

Lotes ad hoc

USE northwind SELECT * FROM products WHERE unitprice = $12.5 SELECT * FROM products WHERE unitprice = 12.5 SELECT * FROM products WHERE unitprice = $12.5 GO

Parametrizacin automtica

USE library SELECT * FROM member WHERE member_no = 7890 SELECT * FROM member WHERE member_no = 1234 SELECT * FROM member WHERE member_no = 7890 GO

Consideraciones acerca del rendimiento

Las condiciones de bsqueda negativas pueden hacer que la recuperacin de datos sea ms lenta

La obtencin de datos con LIKE puede resultar ms lenta


Las coincidencias exactas o intervalos hacen que la obtencin de datos sea ms rpida La clusula ORDER BY puede ralentizar la obtencin de datos

Recomendaciones

Utilice la clusula DISTINCT para eliminar las filas duplicadas en los conjuntos de resultados Cambie los nombres de las columnas por literales para mejorar la legibilidad de los conjuntos de resultados En las listas de columnas con mltiples lneas coloque comas delante de los nombres de columna, excepto en la primera columna

Prctica A: Recuperacin de datos y transformacin de conjuntos de resultados

Repaso

Recuperar datos de tablas mediante la instruccin SELECT

Filtros de datos
Dar formato a los conjuntos de resultados

Cmo se procesan las consultas


Consideraciones acerca del rendimiento

Você também pode gostar