1. Taller de Bases de Datos META 2010 Procesos de consultas Tema: Recuperación de datos mediante consultas . Ing. Gustavo Viera Estrada Taller de Bases de datos.
2.
3. Contenido META 2010 Procesos de consultas Conocer la sintaxis completa del comando SELECT junto con sus principales cláusulas: SELECT lista_de_selección [INTO nueva_tabla] FROM lista_de_tablas [WHERE condiciones_de_búsqueda] [GROUP BY lista_de_agrupamientos] [ORDER BY lista_de_ordenamiento [ASC | DESC]]
4. Definición META 2010 Procesos de consultas El comando SELECT se utiliza para recuperar datos desde una base de datos y para presentarlos al usuario en uno o más conjuntos de resultados. Un conjunto de resultados es un arreglo tabular de los datos que se recupera al ejecutarse el comando SELECT. Al igual que una tabla, el conjunto de resultados posee filas y columnas. Este tema proveerá de una vista general de los principales componentes del comando SELECT, y de cómo estos componentes pueden ser usados para recuperar datos específicos desde una base de datos.
5.
6. Ejemplos del uso del Select META 2010 Procesos de consultas Por ejemplo, el siguiente comando SELECT recupera el ID, nombre y precio unitario de cualquier producto cuyo precio unitario supere los $40: SELECT ProductoID, ProductoNombre, PrecioUnit FROM Productos WHERE PrecioUnit > 40 ORDER BY PrecioUnit ASC En este ejemplo, la cláusula SELECT define qué columnas deberán ser recuperados y la cláusula FROM identifica la tabla que contiene estas columnas La cláusula WHERE limita las filas que serán incluidas en el conjunto de resultados a aquellos productos que tengan un valor de PrecioUnit mayor a $40. Por último, la cláusula ORDER BY especifica que el conjunto de resultados estará ordenado de manera ascendente según el valor de la columna PrecioUnit. .
7. Clausula TOP META 2010 Procesos de consultas La palabra clave TOP n La palabra clave TOP n especifica que solo serán devueltas las primeras n filas del conjunto de resultados. Si se especifica ORDER BY, las filas son seleccionadas después que el conjunto de resultados se ordena. El valor n indica el número de filas a ser retornadas (siempre que la palabra clave PERCENT no sea indicada). PERCENT especifica que n es el porcentaje de filas en el conjunto de resultados que se retornarán. Por ejemplo el siguiente comando SELECT retorna las primeras 10 ciudades en orden alfabético de la tabla Ordenes: SELECT DISTINCT TOP 10 CiudadVenta, RegionVenta FROM Ordenes ORDER BY CityVentas
8. Uso de los alias (As) META 2010 Procesos de consultas La palabra clave AS Se puede mejorar la comprensión de un comando SELECT dando a la tabla un alias. Se puede asignar un alias de tabla usando o no la palabra clave AS: nombre_tabla AS alias_tabla nombre_tabla alias_tabla En el ejemplo siguiente, el alias p se asigna a la tabla Editores: USE pubs SELECT p.ed_id, p.ed_nonmbre FROM editores AS p
9. Tipos de información en la lista de selección META 2010 Procesos de consultas Una lista de selección puede incluir muchos tipos de información, tal como una expresión simple o una subconsulta escalar. Los ejemplos siguientes muestran varios de los ítems que se pueden incluir en las listas de selección: SELECT Nombre + ' ' + Apellido AS "Nombre_Empleado", IDENTITYCOL AS "ID_Empleado", Telefono_casa, Region FROM Northwind.dbo.Empleados ORDER BY Apellido, Nombre ASC En este ejemplo, los apellidos y los nombres de los empleados son combinados en una columna. Un espacio se inserta entre el nombre y el apellido. El nombre de la columna que contendrá los nombres de los empleados será Nombre_Empleado. El conjunto de resultados también incluirá la columna de identificación llamada ID_Empleado; la columna Telefono_casa; y la columna Region. El conjunto de resultado se ordenará primero por apellido y después por nombre. .
10. La clausula INTO META 2010 Procesos de consultas La cláusula INTO habilita para especificar que el conjunto de resultados se utilizará para crear una tabla nueva con el nombre definido en la cláusula. El comando SELECT...INTO se utiliza para combinar datos de varias tablas o vistas en una nueva tabla. Se puede usar para crear una tabla nueva desde un servidor conectado. El ejemplo utiliza un comando SELECT para recuperar valores desde las columnas Apellido y Nombre de la tabla Empleados: SELECT Nombre, Apellido INTO NombresEmpleados FROM Empleados El comando crea una nueva tabla llamada NombresEmpleados y guarda en ella el conjunto de resultados generado. La nueva tabla contendrá las columnas Nombre y Apellido, y estas columnas contendrán los valores de la tabla Empleados. El conjunto de resultados no se muestra en el panel Results a no ser que específicamente se consulte la nueva tabla. .
11. La clausula FROM META 2010 Procesos de consultas La cláusula FROM se requiere en todo comando SELECT que recupere datos de tablas. Se usa la cláusula FROM para listar las tablas que contienen las columnas referenciadas en la lista de selección y en la cláusula WHERE. Se pueden asignar alias a las tablas mediante el uso de la cláusula AS. SELECT * FROM Vendedores Por otra parte, se puede usar la cláusula FROM para especificar combinaciones entre dos tablas o vistas, lo que se discutirá mas adelante en detalle.
12. La clausula WHERE META 2010 Procesos de consultas Las cláusulas WHERE en un comando SELECT controlan qué filas de las tablas fuentes serán usadas para construir el conjunto de resultados. La cláusula WHERE son filtros. Especifican una serie de condiciones de búsqueda, y solo se utilizan para construir el conjunto de resultados aquellas filas que satisfacen las condiciones de filtro. Se dice que estas filas califican para participar del conjunto de resultados. Por ejemplo, la cláusula WHERE en el siguiente comando SELECT retornará solo aquellas filas cuyo valor para la región sea Washington: SELECT IDCliente, NombreCompañia FROM Clientes WHERE Region = 'WA'
13. La clausula ORDER BY META 2010 Procesos de consultas La cláusula ORDER BY ordena el resultado de una consulta por una o más columnas (hasta 8060 bytes). Un ordenamiento puede ser ascendente (ASC) o descendente (DESC). Si no se especifica una ordenamiento, se asume ASC. Si se indican más de una columna en la cláusula ORDER BY el ordenamiento es anidado. El siguiente comando ordena las filas en la tabla Titulos, primero por Editor (en orden descendente), luego por tipo (en orden ascendente dentro de cada editor), y finalmente por precio (en orden ascendente, dado que no se indica DESC): SELECT Pub_id, Tipo, Titulo, Precio FROM Titulos ORDER BY Pub_id DESC, Tipo, Precio
14. Cadena de caracteres META 2010 Procesos de consultas Puede recuperar filas con base en porciones de cadena de caracteres, utilizando la palabra clave LIKE. Junto con el LIKE se pueden emplear los caracteres tipos comodines en la forma de expresiones normales: Los comodines disponibles son: * (cadena de cero o mas caracteres) _ (un solo carácter) Ejemplo: SELECT titulo_id, titulo FROM libros WHERE titulo LIKE ‘*computación*’ Mostrara de todas las filas de la tabla libros que como titulo tengan la cadena computación en cualquier parte del mismo.
15. Auto-evaluación META 2010 Procesos de consultas ¿Que es lo que devuelven estas consultas? A).- SELECT* FROM autores WHERE nombre LIKE ‘Lo*’ B).- SELECT id_emp AS claveEmpleado, ape AS Apellido, nom AS Nombre FROM empleados C).- SELECT * FROM empleados WHERE antigüedad < 5
16. Auto-evaluación META 2010 Procesos de consultas Ejercicios Al inicio del tema se proporciono una base de datos llamada practica6 que se usara para estos ejercicios. 1.- Se desea recuperar los campos id_titulo, titulo y precio de todos los libros que tengan la palabra ‘diseño web’ en el titulo y cuando el precio no sean mayores a 500 peso. La tabla se llama títulos. 2.- Escriba una consulta para listar todos los títulos y precios de la tabla títulos, en orden ascendente con base en el precio. 3.- Crear una consulta para encontrar todos los autores de libros que sean únicamente del país de México. La tabla se llama autores.
17. Respuestas META 2010 Procesos de consultas Respuestas al cuestionario A).- Esta consulta devuelve todas las columnas de la tabla de autores cuando el apellido del autor comienza con la palabra Lo. b).- Esta consulta devuelve todas las filas de la tabla de empleados y las columnas id_emp, ape,nom. A los encabezados de columnas se les han dado los nombres alternos claveEmpleado, apellido y nombre. c).- Esta consulta muestra todos los empleados que tengan de 0 a 4 años de antigüedad elaborando en la empresa
18. Respuestas META 2010 Procesos de consultas Respuestas a los ejercicios 1.- SELECT id_titulo,titulo,precio FROM titulos WHERE (titulo LIKE ‘*diseño web*’) and (precio <=500). 2.- SELECT titulo,precio FROM titulo ORDER BY precio ASC. 3.- SELECT * FROM autores WHERE pais = ‘Mexico’.
19. Fuente META 2010 Procesos de consultas Rick Sawtell, Richard Waymire “ Aprendiendo Microsoft SQL Server 2000 en 21 dias”, Cáp. 6 6ª. Edición Pearson Educacion, 2002