Ejercicios Con Northwind
Resumen del desarrollo de la práctica.
Analizar la información almacenada en la base de datos NorthWind haciendo uso de las
distintas funciones de MS-SQL server.
Desarrollo de la práctica.
Comentarios En una línea
USE northwind
SELECT unitprice,
(unitprice * 1.1), -- precio incrementado en 10%
productname
FROM products
GO
Comentarios En un bloque
/* Este código devuelvetodas las filas de la tabla products y muestra el precio por unidad, el
precio umentado en un 10 por ciento y el nombre del producto. */
USE northwind
SELECT unitprice, (unitprice * 1.1), productname
FROM products
GO
Variables
Sintaxis DECLARE {@variableLocal tipoDatos} [,...n] SET @nombreVariableLocal =
expresión
En este ejemplo se crean las variables locales @EmpID y @vlname, se asigna un valora
@vlname y, a continuación, se asigna un valor a @EmpID al consultar en la base de datos
NorthWind para seleccionar el registro que contiene el valor de la variable local @vlname.
USE northwind
DECLARE @EmpID varchar(11) ,@vlName char(20)
SET @vlname = 'Dodsworth'
SELECT @EmpID = employeeid FROM employees
WHERE LastName = @vlname
SELECT @EmpID AS EmployeeID
Funciones del sistema
Ejemplo 1
Eneste ejemplo se determina el promedio de la columna unitprice de todos los productos de
la tabla products.
USE northwind
SELECT AVG(unitprice) AS AvgPrice FROM products
Ejemplo 2
En este ejemplo de función de metadatos se devuelve el nombre de la base de datos que se
está utilizando actualmente.
USE northwind
SELECT DB_NAME() AS 'database'
Ejemplo 3
En este ejemplo se demuestra cómo puedeconvertir fechas a distintos estilos.
SELECT 'ANSI:', CONVERT (varchar(30), GETDATE(), 102) AS Style
UNION
SELECT 'Japanese:', CONVERT(varchar(30), GETDATE(), 111)
UNION
SELECT 'European:', CONVERT(varchar(30), GETDATE(), 113)
Ejemplo 4
En este ejemplo se utiliza la opción DATEFORMAT de la instrucción SET para dar formato
a las fechas de la duración de una conexión. Esta configuración sólo se utiliza enla
interpretación de las cadenas de caracteres cuando se convierten a valores de fecha. No tiene
efecto al mostrar los valores de fecha.
SET DATEFORMAT dmy
DECLARE @vdate datetime SET @vdate = '29/11/98'
SELECT @vdate
Ejemplo 5
En el ejemplo siguiente se calcula el valor ampliado de un producto que forma parte de un
pedido; para ello se multiplica el precio unitario por la cantidad pedida y, acontinuación, se
filtran los resultados de forma que sólo se devuelvan las filas correspondientes a pedidos con
un valor ampliado mayor de 10000.
SELECT OrderID, ProductID,(UnitPrice * Quantity) as ExtendedAmount
FROM [Order Details]
WHERE (UnitPrice * Quantity) > 10000
Ejemplo 6
En este ejemplo se determina si un cliente tiene algún pedido antes de eliminarlo de la lista
de clientes.
USEnorthwind
IF EXISTS (SELECT * FROM orders
WHERE customerid = 'frank')
PRINT '*** Customer cannot be deleted ***'
ELSE
BEGIN
DELETE customers WHERE customerid = 'frank' PRINT '*** Customer deleted ***'
END
Ejemplo 7
Ejecutar las siguientes consultas en el analizador de consulta y describir que hace cada una,
demostrar cómo afecta a los datos, es decir contrastar el antes y después.
Nota: En elejercicio 15 la función EXEC ejecútala por separado, del bloque de consulta del
CREATE PROC porque es la forma de mandar a llamar a ese procedimiento que ya creaste.
El @ es el parámetro que espera ese procedimiento para ejecutar la consulta que lleva dentro.
El doble guión es la forma de comentar líneas en el Analizador de consultas.
Ejemplo 9
Ejecutar las siguientes consultas en el analizador deconsulta y describir que hace cada una,
demostrar cómo afecta a los datos, es decir contrastar el antes y después.
01. USE NORTHWIND
SELECT OrderID, Quantity As [Sin nombre de columna] FROM [Order Details]
WHERE OrderID BETWEEN 11000 AND 11002
02. SELECT OrderID, SUM (Quantity) As [Sin nombre de columna] FROM [Order
Details] WHERE OrderID BETWEEN 11000 AND 11002 GROUP BY OrderID
03. SELECT COUNT(*)...
Regístrate para leer el documento completo.