0% encontró este documento útil (1 voto)
4K vistas14 páginas

Ejercicios Utilizando La Base de Datos Northwind

El documento presenta 12 ejercicios utilizando la base de datos Northwind en SQL Server. Los ejercicios crean procedimientos almacenados para realizar consultas como obtener clientes por país, contar clientes por inicial de identificador, contar órdenes por cliente, y crear una base de datos similar en español con tablas, campos y registros renombrados.

Cargado por

Jason Juanias
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (1 voto)
4K vistas14 páginas

Ejercicios Utilizando La Base de Datos Northwind

El documento presenta 12 ejercicios utilizando la base de datos Northwind en SQL Server. Los ejercicios crean procedimientos almacenados para realizar consultas como obtener clientes por país, contar clientes por inicial de identificador, contar órdenes por cliente, y crear una base de datos similar en español con tablas, campos y registros renombrados.

Cargado por

Jason Juanias
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Jeisson Duban Juanias Villarraga

ID: 351997

Ejercicios utilizando la base de datos Northwind.

1. Realizar un procedimiento almacenado que devuelva los clientes (Customers) según el país
(Country).

QUERY:
USE [Northwind]

-- =============================================
-- Author: Jeisson Juanias
-- Create date: 20-10-2020
-- Description: 1. Realizar un procedimiento almacenado que devuelva los clientes (Customers)
según el país (Country).
-- =============================================

ALTER PROCEDURE [dbo].[GetClientesByCountry]


@Country VARCHAR(50)
AS
BEGIN
SET NOCOUNT ON;

SELECT * FROM Customers WHERE Country LIKE @Country


END
Jeisson Duban Juanias Villarraga
ID: 351997
2. Crear un procedimiento que determine la cantidad de clientes cuyo identificador (o sea el código)
inicia con un determinado carácter.
QUERY:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Jeisson Juanias
-- Create date: 20-10-2020
-- Description: 2. Crear un procedimiento que determine la cantidad de clientes cuyo
--- identificador (o sea el código) inicia con un determinado carácter.
-- =============================================
CREATE PROCEDURE GetCountClientesByCaracter
@Caracter CHAR(1)
AS
BEGIN
SET NOCOUNT ON;

SELECT COUNT(CUSTOMERID) AS CANTIDAD FROM Customers WHERE CustomerID LIKE '' + @Caracter + '%'
END
GO

EXEC GetCountClientesByCaracter @Caracter = 'A'


Jeisson Duban Juanias Villarraga
ID: 351997
3. Realizar un procedimiento que determine la cantidad de registros que un cliente está en la tabla
ORDERS.
QUERY:
USE [Northwind]
-- =========================================
-- Author: Jeisson Juanias
-- Create date: 20-10-2020
-- Description: 3. Realizar un procedimiento que determine
---la cantidad de registros que un cliente está en la tabla ORDERS.
-- =============================================
CREATE PROCEDURE [dbo].[GetCountOrdersByCustomers]

AS
BEGIN
SET NOCOUNT ON;

SELECT CustomerID, COUNT(CustomerID) COUNT_ORDERS FROM ORDERS


GROUP BY CustomerID
END

EXEC [dbo].[GetCountOrdersByCustomers]
Jeisson Duban Juanias Villarraga
ID: 351997

4. Realizar una base de datos similar a Northwind, pero que los nombre de tablas, campos y registros
estén en castellano.
Jeisson Duban Juanias Villarraga
ID: 351997

QUERY:

CREATE TABLE "Categorias" (


"CategoriaID" "int" IDENTITY (1, 1) NOT NULL ,
"NombreCategoria" nvarchar (15) NOT NULL ,
"Descripcion" nvarchar (max) NULL ,
"Imagen" "image" NULL ,
CONSTRAINT "PK_Categorias" PRIMARY KEY CLUSTERED
(
"CategoriaID"
)
)
GO
CREATE INDEX "NombreCategoria" ON "dbo"."Categorias"("NombreCategoria")
GO
Jeisson Duban Juanias Villarraga
ID: 351997
CREATE TABLE "Productos" (
"ProductoID" "int" IDENTITY (1, 1) NOT NULL ,
"NombreProducto" nvarchar (40) NOT NULL ,
"ProvedorID" "int" NULL ,
"CategoriaID" "int" NULL ,
"CantidadPorUnidad" nvarchar (20) NULL ,
"PrecioUnidad" "money" NULL,
"UnidadesEnStock" "smallint" NULL ,
"UnidadesEnPedido" "smallint" NULL ,
"Descontinuado" "bit" NOT NULL ,
CONSTRAINT "PK_Productos" PRIMARY KEY CLUSTERED
(
"ProductoID"
),
CONSTRAINT "FK_Products_Categorias" FOREIGN KEY
(
"CategoriaID"
) REFERENCES "dbo"."Categorias" (
"CategoriaID"
))
GO
CREATE INDEX "CategoriesProductos" ON "dbo"."Productos"("CategoriaID")
GO
CREATE INDEX "CategoriaID" ON "dbo"."Productos"("CategoriaID")
GO
CREATE INDEX "NombreProducto" ON "dbo"."Productos"("NombreProducto")
GO
Jeisson Duban Juanias Villarraga
ID: 351997

5. Realizar un procedimiento que seleccione todos los registros de tabla Productos y Categories a la
vez.

QUERY:
-- =============================================
-- Author: Jeisson Juanias
-- Create date: 20-10-2020
-- Description: 5. Realizar un procedimiento que seleccione todos los registros de tabla
Productos y Categories a la vez.
-- =============================================
CREATE PROCEDURE ObtenerAllProductosCategorias
AS
BEGIN
SET NOCOUNT ON;

SELECT *
FROM Productos T1
INNER JOIN CATEGORIAS T2 ON T2.CategoriaID = T1.CategoriaID
END
GO

EXEC ObtenerAllProductosCategorias
Jeisson Duban Juanias Villarraga
ID: 351997

6. Realizar un procedimiento que seleccione todos los productos que no corresponde a la categoría
bebidas (1)

-- =============================================
-- Author: Jeisson Juanias
-- Create date: 20-10-2020
-- Description: 6. Realizar un procedimiento que seleccione todos los productos que no
corresponde a la categoría bebidas (1)
-- =============================================
CREATE PROCEDURE ObtenerAllProductosCategoria_1
AS
BEGIN
SET NOCOUNT ON;

SELECT T1.*
FROM Productos T1
INNER JOIN CATEGORIAS T2 ON T2.CategoriaID = T1.CategoriaID
WHERE T2.NombreCategoria = 'Bebidas'
END
GO

EXEC ObtenerAllProductosCategoria_1
Jeisson Duban Juanias Villarraga
ID: 351997
7. Realizar un procedimiento que obtenga la cantidad de registros que no corresponde a condimentos

QUERY:
-- =============================================
-- Author: Jeisson Juanias
-- Create date: 20-10-2020
-- Description: 7. Realizar un procedimiento que obtenga la cantidad de registros que no
corresponde a condimentos
-- =============================================
CREATE PROCEDURE ObtenerCantidadProductosNoCondimentos
AS
BEGIN
SET NOCOUNT ON;

SELECT COUNT(T1.ProductoID) as Cantidad_Productos


FROM Productos T1
INNER JOIN CATEGORIAS T2 ON T2.CategoriaID = T1.CategoriaID
WHERE T2.NombreCategoria NOT IN ('Condimentos')
END
GO

EXEC ObtenerCantidadProductosNoCondimentos
Jeisson Duban Juanias Villarraga
ID: 351997
8. Realizar un procedimiento que seleccionar todos los campos de los registros que no corresponden a
categoría mariscos de la tabla productos.

-- =============================================
-- Author: Jeisson Juanias
-- Create date: 20-10-2020
-- Description: 8. Realizar un procedimiento que seleccionar todos los campos de los registros
--- que no corresponden a categoría mariscos de la tabla productos.
=============================================
CREATE PROCEDURE ObtenerProductosNoMariscos
AS
BEGIN
SET NOCOUNT ON;

DECLARE @id_Mariscos AS INT

SELECT @id_Mariscos = CategoriaID FROM Categorias WHERE NombreCategoria = 'Mariscos'

SELECT *
FROM Productos T1
WHERE T1.CategoriaID NOT IN (@id_Mariscos)
END
GO

EXEC ObtenerProductosNoMariscos
Jeisson Duban Juanias Villarraga
ID: 351997
9. Realizar un procedimiento que seleccionar los campos nombre del producto y precio (únicamente)
de los productos diferentes a cárnicos.

QUERY:
CREATE PROCEDURE ObtenerProductosNoCarnicos
AS
BEGIN
SET NOCOUNT ON;
DECLARE @id_Carne AS INT

SELECT @id_Carne = CategoriaID FROM Categorias WHERE NombreCategoria = 'Carne'

SELECT T1.NombreProducto,
T1.PrecioUnidad
FROM Productos T1
WHERE T1.CategoriaID NOT IN (@id_Carne)
END
GO

EXEC ObtenerProductosNoCarnicos
Jeisson Duban Juanias Villarraga
ID: 351997

10. Realizar un procedimiento que obtenga la cantidad de productos granos y cereales.

CREATE PROCEDURE ObtenerCantidadProductosGranos


AS
BEGIN
SET NOCOUNT ON;
DECLARE @id_Granos AS INT

SELECT @id_Granos = CategoriaID FROM Categorias WHERE NombreCategoria = 'Granos/Cereales'

SELECT COUNT(T1.NombreProducto) AS Cantidad


FROM Productos T1
WHERE T1.CategoriaID NOT IN (@id_Granos)
END
GO

EXEC ObtenerCantidadProductosGranos
Jeisson Duban Juanias Villarraga
ID: 351997
11. Realizar un procedimiento que seleccionar los campos nombre del producto y precio (únicamente)
de los quesos y productos cárnicos.

-- =============================================
-- Author: Jeisson Juanias
-- Create date: 20-10-2020
-- =============================================
CREATE PROCEDURE ObtenerProductosLacteosCarne
AS
BEGIN
SET NOCOUNT ON;
DECLARE @id_Granos AS INT

SELECT T1.NombreProducto,
T1.PrecioUnidad
FROM Productos T1
INNER JOIN Categorias T2 ON T2.CategoriaID = T1.CategoriaID
WHERE T2.NombreCategoria IN ('lacteos', 'Carne')
END
GO

EXEC ObtenerProductosLacteosCarne
Jeisson Duban Juanias Villarraga
ID: 351997

12. Realizar un procedimiento que seleccionar los campos nombre del producto, precio y stock
(únicamente) de las frutas secas y mariscos.

-- =============================================
-- Author: Jeisson Juanias
-- Create date: 20-10-2020
-- =============================================
CREATE PROCEDURE ObtenerProductosSecoMariscos
AS
BEGIN
SET NOCOUNT ON;

SELECT T1.NombreProducto,
T1.PrecioUnidad
FROM Productos T1
INNER JOIN Categorias T2 ON T2.CategoriaID = T1.CategoriaID
WHERE T2.NombreCategoria IN ('ProductosSecos', 'Mariscos')
END
GO

EXEC ObtenerProductosSecoMariscos

Jeisson Duban Juanias Villarraga 
ID: 351997 
 
Ejercicios utilizando la base de datos Northwind. 
 
1. Realizar un procedimi
Jeisson Duban Juanias Villarraga 
ID: 351997 
2. Crear un procedimiento que determine la cantidad de clientes cuyo identifica
Jeisson Duban Juanias Villarraga 
ID: 351997 
3. Realizar un procedimiento que determine la cantidad de registros que un clie
Jeisson Duban Juanias Villarraga 
ID: 351997 
 
 
4. Realizar una base de datos similar a Northwind, pero que los nombre de t
Jeisson Duban Juanias Villarraga 
ID: 351997 
 
QUERY: 
 
CREATE TABLE "Categorias" ( 
 
"CategoriaID" "int" IDENTITY (1, 1)
Jeisson Duban Juanias Villarraga 
ID: 351997 
 
CREATE TABLE "Productos" ( 
 
"ProductoID" "int" IDENTITY (1, 1) NOT NULL ,
Jeisson Duban Juanias Villarraga 
ID: 351997 
 
5. Realizar un procedimiento que seleccione todos los registros de tabla Prod
Jeisson Duban Juanias Villarraga 
ID: 351997 
 
6. Realizar un procedimiento que seleccione todos los productos que no corres
Jeisson Duban Juanias Villarraga 
ID: 351997 
7. Realizar un procedimiento que obtenga la cantidad de registros que no corres
Jeisson Duban Juanias Villarraga 
ID: 351997 
8. Realizar un procedimiento que seleccionar todos los campos de los registros

También podría gustarte