Este taller propone ejercicios prácticos de SQL Server para extraer y filtrar información de una base de datos, incluyendo consultas para seleccionar clientes y productos que cumplan ciertos criterios, formatear la salida de datos, agrupar resultados y clasificar filas. También incluye ejercicios sobre subconsultas y la creación de vistas y procedimientos almacenados.
SQL Server Fundamentals: Consultas y Funciones Básicas
1. Taller 2 SQL Server Fundamentals
OBJETIVO: Practicar el uso de las sentencias y funciones básicas de SQL Server para resolver
requerimientos de negocio. Este taller está basado en la base de datos Northwind que puede ser
descargada de la siguiente URL.:http://www.microsoft.com/download/en/details.aspx?id=23654
NOTA: Se debe modificar el script de generación de la base de datos para que sea compatible con la
versión del motor SQL Server 2008, SQL Server 2008 R2 o SQL Server 2012 RTM
1. Filtros de Información:
Seleccione los clientes cuyo nombre comience por la letra W o que pertenezcan a las ID
LAZYK, LAUGB,LAMAI.
Seleccione el nombre del producto, precio y cantidad disponible de los 10 primeros
productos que tengan un precio entre 20 y 30 dólares. Ordene los productos por
cantidad de productos disponibles.
Seleccione los detalles de ordenes que tengan un valor de descuento mayor a 0.12 y
menor o igual a 0.24. De estas órdenes saque solo un valor de cada registro. Devuelva
los campos ProductID y UnitPrice.
De la tabla clientes, traiga los clientes que NO tengan vacío (NULL) el campo de la
región.
Extraiga los siguientes atributos [CustomerID] ,[Country], [ContactName],
[Address], [Phone] de la tabla de clientes, siempre y cuando pertenezcan al país
“Alemania” y el número telefónico no esté vacío (NULL).
Seleccione los campos categoryID, categoryname y description de la tabla categories.
Filtre la información para que el categoryID esté entre 3 y 7 o que la descripción
contenga el carácter “,”.
De la tabla products, traiga las columnas supplierID, categoryID, sume la columna
unitprice con el alias “precio”, cuente cuantos registros hay por agrupación con el alias
“nroProductos”. Filtre la información para los registros en los cuales el campos
unitsInStock sama mayor a 0. Filtre la consulta para las agrupaciones en el cual el
“nroPoductos” sea mayor a 1. Ordene la información por el contador “nroproductos”
descendentemente.
2. Formateo de Información:
Elabore una consulta que devuelva la categoría de los productos, el nombre del
producto, el valor del producto y la cantidad disponible de productos. En el siguiente
formato (incluye nombre de columnas y campos):
Product Description Price UnitsAvailable
CategoryName -ProductName
Genere un reporte que devuelva el título de cortesía, nombre y apellidos de los
empleados en una sola columna separados por un espacio de por medio. Llame a esta
columna “rptEmpleado”, concatene también separado por el carácter “|” el país, la
ciudad, la extensión y el EmployeeID.
Julián Castiblanco P. http://julycastiblanco.blogspot.com julian_castiblancop@hotmail.com Page 1
2. Taller 2 SQL Server Fundamentals
Agregue al reporte anterior concatenado por “|”, el nombre del mes del cumpleaños de
cada empleado.
Sobre el reporte anterior realice una modificación trayendo todos los textos en
mayúscula y adicionalmente filtrando para devolver solo los clientes cuyo nombre sea
de 5 caracteres.
Realice un informe de los proveedores tomando el cargo y nombre del contacto
separados por un “-“ y nombre a la columna “Contacto”, extraiga también el país y el
número telefónico. Organice la información por país de contacto en orden
descendente.
3. Agrupación de resultados:
Agrupe los productos por Nombre de categoría y devuelva resumidos el valor promedio,
el valor mínimo, el valor máximo, la sumatoria de valores, la variación, la desviación
estándar y el número de productos. Coloque a cada columna un valor descriptivo de la
información que contiene.
Agrupe las órdenes por cliente y devuelva el nombre del cliente, la fecha de la última
compra, el peso promedio, número de órdenes y el monto total de compras realizadas
por cada cliente.
Realice la consulta anterior pero solo para los clientes con cargo: Owner, Marketing
Manager, Sales Representative y que hayan realizado más de 10 ordenes de compras.
4. Funciones de Clasificación:
Cree una vista que devuelva el nombre de categoría y el nombre de producto, precio de
productos y disponibilidad de productos, rankeando la información por categoría y
ordenándola descendentemente por productos disponibles.
Cree un procedimiento almacenado que devuelva la empresa transportadora, el número
de orden, el valor total de la orden, el número de productos, el nombre del producto
más económico, el nombre del producto más costo y un numeró secuencial por cada
registro devuelto en la consulta. El número secuencial deberá reiniciarse para cada
cliente.
5. Subconsultas:
Seleccione las órdenes que fueron distribuidas a través de las empresas Speedy Express,
United Package. Utilice subconsultas para resolver este punto.
Seleccione todas las órdenes en las cuales se adquirieron más de 15 artículos y que el
monto total de la compra fue superior a 5000 dólares. Utilice subconsultas.
Julián Castiblanco P. http://julycastiblanco.blogspot.com julian_castiblancop@hotmail.com Page 2
3. Taller 2 SQL Server Fundamentals
Cree un procedimiento almacenado que al pasar el ID del cliente, retorne la información
de nombre del cliente, ordenes puestas, valor de compra de cada orden, valor de orden
menos el descuento, total de orden(incluir impuesto del 16%) y número de artículos
comprados.
Julián Castiblanco P. http://julycastiblanco.blogspot.com julian_castiblancop@hotmail.com Page 3