Este documento presenta un taller sobre el uso de sentencias y funciones básicas de SQL Server para resolver requerimientos de negocio utilizando la base de datos Northwind. El taller incluye ejercicios para filtrar información, formatear datos, agrupar resultados y utilizar funciones de clasificación y subconsultas.
SQL Server Fundamentals: filtros, agrupaciones y subconsultas
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 CTP0
1. Filtros de Información:
Seleccione los clientes cuyo nombre comience por la letra W o que pertenezcan a las
compañías 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 ordentes 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).
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):
ProductDescription 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 “-“ ynombre 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. Exporte el resultado a un archivo de extensión .rpt.
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,
UnitedPackage. 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.
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 2