Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Escenario de laboratorio
Usted es un analista de negocios de Adventure Works que redactará informes utilizando
bases de datos almacenadas en SQL Server 2012. Se le ha proporcionado un conjunto
de requisitos comerciales para los datos y escribirá consultas T-SQL para recuperar los
datos especificados de las bases de datos. Debido a las solicitudes comerciales
avanzadas, tendrá que aprender a crear y consultar diferentes expresiones de consulta
que representen unatabla relacional.
Guión
En los últimos 10 módulos, tuvo que preparar una gran cantidad de declaraciones T-SQL
diferentes para admitir diferentes requisitos comerciales. Debido a que algunos de ellos
utilizaron una estructura de tabla y columna similar, le gustaría que fueran reutilizables.
Aprenderá a utilizar una de las dos expresiones de tabla persistentes: una vista.
Tarea 1: escribir una declaración SELECT para recuperar todos los productos de
una categoría específica
Abra el archivo de proyecto F: \ 10774A_Labs \ 10774A_11_PRJ \
10774A_11_PRJ.ssmssln y el script T-SQL 51 - Ejercicio de laboratorio 1.sql. Asegúrese
de estar conectado a la base de datos TSQL2012.
Escriba una declaración SELECT para devolver el identificador del producto, el nombre
del producto, el identificador del proveedor, el precio unitario y las columnas
discontinuadas de la tabla Production.Products. Filtre los resultados para incluir solo
los productos que pertenecen a la categoría Bebidas (el ID de categoría es igual a 1).
Observe y compare los resultados que obtuvo con los resultados deseados
que se muestran en el archivo. 52 - Ejercicio de laboratorio 1 - Tarea 1
Result.txt.
Modifique el código T-SQL para incluir la siguiente instrucción T-SQL proporcionada.
Ejecute este código exactamente como está escrito dentro de una ventana de consulta.
Resultados: Después de este ejercicio, debería saber cómo utilizar una vista en sentencias T-SQL.
Ejercicio 2: redacción de consultas que utilizan tablas derivadas
Guión
El departamento de ventas desea comparar los montos de ventas entre el año solicitado y
el año anterior para calcular el porcentaje de crecimiento. Para preparar un informe de
este tipo, aprenderá a utilizartablas derivadas dentro de declaraciones T-SQL.
Escriba una instrucción SELECT en una tabla derivada y recupere las columnas
productid y productname. Filtre los resultados para incluir solo las filas en las que el
valor de la columna de tipo de precio sea igual a alto. Utilice la instrucción SELECT
del ejercicio 1, tarea 4, como la consulta interna que define la tabla derivada. No
olvide utilizar un alias para la tabla derivada. (Puede utilizar el alias p.)
Ejecute la declaración escrita y compare los resultados que obtuvo con los resultados
deseados que se muestran en el archivo 62 - Ejercicio de laboratorio 2 - Tarea 1
Result.txt.
Tarea 2: Escriba una declaración SELECT para calcular el monto total y promedio
de las ventas
Escriba una declaración SELECT para recuperar la columna custid y dos columnas
calculadas: totalsalesamount, que devuelve el monto total de ventas por cliente, y
avgsalesamount, que devuelve el monto promedio de ventas de pedidos por cliente.
Para calcular correctamente el monto promedio de ventas de pedidos por cliente,
primero deberá calcular el monto total de ventas por pedido. Puede hacerlo
definiendo una tabla derivada basada en una consulta que se una a las tablas
Sales.Orders y Sales.OrderDetails. Puede utilizar las columnas custid y orderid de la
tabla Sales.Orders y las columnas qty y unitprice de la tabla Sales.OrderDetails.
Ejecute la declaración escrita y compare los resultados que obtuvo con los
resultados recomendados que se muestran en el archivo 63 - Ejercicio de laboratorio
2 - Tarea 2 Result.txt.
Tarea 3 (desafío): escriba una declaración SELECT para recuperar el porcentaje de
crecimiento de las ventas
Escriba una instrucción SELECT para recuperar las siguientes columnas:
orderyear, que representa el año de la fecha del pedido
curtotalsales, que representa el total importe de ventas para el año de pedido actual
prevtotalsales, que representa el monto total de ventas del año de pedido anterior
porcentaje de crecimiento, que representa el porcentaje de crecimiento de las
ventas en el año de pedido actual en comparación al año de pedido anterior
Tendrá que escribir una declaración T-SQL utilizando dos tablas derivadas. Para
obtener el año del pedido y las columnas de ventas totales para cada declaración
SELECT, puede consultar una vista ya existente llamada Sales.OrderValues. La
columna val representa el monto de las ventas.
No olvide que el año de pedido 2006 no tiene un año de pedido anterior en la base
de datos, pero sí aún debe ser recuperado por la consulta.
Ejecute el código T-SQL y compare los resultados que obtuvo con los resultados
Resultados: Después de este ejercicio, debería poder utilizar tablas derivadas en sentencias T-SQL.
Guión
El departamento de ventas necesita un informe adicional que muestre el crecimiento
de las ventas a lo largo de los años para cada cliente. Puede usar su conocimiento
existente de tablas y vistas derivadas, pero en su lugar, practicará cómo usar una
expresión de tabla común (CTE).
Resultados: Después de este ejercicio, debe comprender cómo utilizar un CTE en una instrucción T-SQL.
Guión
Aprendiste a escribir una sentencia SELECT contra una vista. Pero dado que
una vista no admite parámetros, ahora usará una función con valores de
tabla en línea para recuperar datos como una tabla relacional basada en un
parámetro de entrada.
Tarea 2: escribir una instrucción SELECT contra la función con valores de tabla en
línea
Escriba una instrucción SELECT para recuperar las columnas
custid y totalsalesamount de la función
dbo.fnGetSalesByCustomer en línea con valores de tabla. Utilice el
valor 2007 para el parámetro necesario.
Ejecute la declaración escrita y compare los resultados que obtuvo con
los resultados recomendados que se muestran en el archivo 83 -
Ejercicio de laboratorio 4 - Tarea 2 Result.txt.
Tarea 3: Escriba una declaración SELECT para recuperar los tres productos principales
en función del valor total de ventas de un cliente específico
En esta tarea, consultará las tablas Production.Products y Sales.OrderDetails. Escriba
una declaración SELECT que recupere los tres productos más vendidos según el valor
total de ventas para el cliente con ID 1. Devuelva las columnas productid y productname
de la tabla Production.Products. Utilice las columnas qty y unitprice de la tabla
Sales.OrderDetails para calcular el valor de cada línea de pedido y devuelva la suma de
todos los valores por producto, nombrando la columna resultante totalsalesamount.
Filtre los resultados para incluir solo las filas donde el valor custid es igual a 1.
Ejecute el código T-SQL y compare los resultados que obtuvo con los resultados
recomendados que se muestran en el archivo 84 - Ejercicio de laboratorio 4 - Tarea
3_1 Resultado.txt.
Cree una función con valores de tabla en línea basada en el siguiente encabezado
de función, utilizando la instrucción SELECT anterior. Reemplace el valor custid
constante 1 en la consulta con la entrada de la funciónparámetro @custid:
CREATE FUNCTION dbo.fnGetSalesByCustomer (@orderyear AS INT) RETURNS TABLE
AS RETURN
Resalte el código completo y ejecútelo. Esto creará una función en línea con valores
de tabla llamada dbo.fnGetTop3ProductsForCustomer que acepta un parámetro
para el ID de cliente.
Pruebe la función con valores de tabla en línea creada escribiendo una instrucción
SELECT en ella y use el valor 1 para el parámetro de ID de cliente. Recupere las
columnas productid, productname y totalsalesamount, y use el alias p para la función
en línea con valores de tabla.
Ejecute el código T-SQL y compare los resultados que obtuvo con los resultados
recomendados que se muestran en el archivo 85 - Ejercicio de laboratorio 4 - Tarea
3_2 Result.txt.
Tarea 4 (desafío): Escriba una declaración SELECT para comparar el monto total de
ventas de cada cliente durante el año anterior utilizando funciones en línea con valores de
tabla
Escriba una instrucción SELECT para recuperar el mismo resultado que en el ejercicio 3,
tarea 3, pero use la función en línea con valores de tabla creada en la tarea 2
(dbo.fnGetSalesByCustomer).
Ejecute la declaración escrita y compare los resultados que obtuvo con los
resultados recomendados que se muestran en el archivo 86 - Ejercicio de laboratorio
4 - Tarea 4 Result.txt.
SQL proporcionada:
Ejecute este código exactamente como está escrito dentro de una ventana de consulta.
Resultados: Después de este ejercicio, debe saber cómo usar funciones con valores de tabla en línea en T-SQL declaraciones.