100% encontró este documento útil (1 voto)
7K vistas5 páginas

Ejercicios Basicos de SQL Tomando Como Base Northwind

Los documentos contienen varias consultas SQL para seleccionar datos de las tablas Products, Customers, Orders, Order Details, Employees y Suppliers de la base de datos Northwind. Las consultas incluyen filtros, ordenamientos, joins y agrupamientos para obtener información específica como productos por categoría, órdenes de empleados específicos, clientes por país, y proveedores con más de 3 productos.

Cargado por

oselvins
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 DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
7K vistas5 páginas

Ejercicios Basicos de SQL Tomando Como Base Northwind

Los documentos contienen varias consultas SQL para seleccionar datos de las tablas Products, Customers, Orders, Order Details, Employees y Suppliers de la base de datos Northwind. Las consultas incluyen filtros, ordenamientos, joins y agrupamientos para obtener información específica como productos por categoría, órdenes de empleados específicos, clientes por país, y proveedores con más de 3 productos.

Cargado por

oselvins
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 DOCX, PDF, TXT o lee en línea desde Scribd

select * from [Order Details]

--Seleccione todos los campos de la tabla detalle de la orden, ordenada por cantidad
pedida. Ascendentemente.
select * from [Order Details] order by Quantity asc

--Obtener todos los productos, cuyo nombre comienzan con la letra P y tienen un precio
unitario comprendido entre 10 y 120:
select *from Products
select * from Products where ProductName like 'p%' and UnitPrice between 10 and 120

--Obtener todos os clientes de los países de: USA, Francia y UK:


--select *from Customers
select * from Customers where Country in ('USA', 'France', 'UK')

--Obtener todos los productos descontinuados y sin stock, que pertenecen a la categoria
1, 3, 4 y 7.
--select *from Products
select *from Products where (Discontinued = 1 and UnitsInStock = 0) and CategoryID in
(1,3,4,7)

--Obtener todas las órdenes hechas por el empleado con código: 2, 5 y 7 en el año 1996
--select * from Orders
select * from Orders where EmployeeID in (2,5,7) and year(OrderDate)= '1996'

--Seleccionar todos los campos del cliente, cuya compania empiecen con letraA hata la D y
pertenezcan al pais de USA, ordenarlos por la direccion.
--select * from Customers
select * from Customers where CompanyName like ('[a-d]%') order by Address

-- Seleccionar todos los campos del cliente, cuya compania empiecen con las letras de la
B a la G, y pertenezcan al pais de UK,
--ordenarlos por nombre de la compania
select * from Customers where CompanyName like ('[b-g]%') and Country = 'UK' order by
CompanyName

/*Seleccionar los productos vigentes cuyos precios unitarios están entre 35 y


250, sin stock en almacen, pertenecientes a las categorias 1, 3, 4, 7 y 8,
que son distribuidos por los proveedores, 2, 4, 6, 7, 8 y 9*/
--select * from Products
select * from Products where UnitPrice between 35 and 250 and SupplierID in
(2,4,6,7,9)

use Northwind

/* seleccionar todos los campos de los productos descontinuados, que


pertenezcan a los proveedores con códigos: 1, 3, 7, 8 y 9, que tengan
stock en almacén, y al mismo tiempo que sus precios unitarios estén entre
39 y 190, ordenados por código de proveedores y precio unitario de manera
ascendente. */

select * from Products where SupplierID in (1,3,7,8,9) and UnitsInStock >0


and UnitPrice between 39 and 190 order by SupplierID, UnitPrice asc

/* Seleccionar las órdenes de compra, realizadas por el empleado con código


entre el 2 y 5, además de los clientes con código que comienzan con las
letras de la A hasta la G, del 31 de julio de cualquier año.*/
--select * from Orders
select *from Orders where EmployeeID between 2 and 5 and CustomerID like ('[a-g]%')
and datepart (dd,OrderDate)=31 and DATEPART (mm,OrderDate)= 7

/* Seleccionar las órdenes de compra, realizadas por el cliente con código 3,


de cualquier año pero solo de los úlimos 5 meses (agosto-Diciembre)*/
select *from Orders where EmployeeID = 3 and Month (OrderDate) in (8,9,10,11,12)

----------EJERCICIOS INNER JOIN-------------------


--select * from Suppliers
-- Describa el nombre de la compania, el nombre del producto y el precio unitario.
select [Link], [Link], UnitPrice
from Suppliers AS s
inner join Products as p
on [Link] = [Link]

/* Código de la orden de compra, fecha de la orden de compra, el código del


producto, el nombre de producto, y la cantidad pedida.*/
select * from [Order Details]
select [Link], [Link], [Link], [Link], [Link]
from Orders as o
inner join [Order Details] as od
on [Link] = [Link]
inner join Products as p
on [Link] = [Link]

/*Select OrderID, OrderDate, ProductID, ProductName, Quantity


from Orders AS o
inner join [Order Details] AS od on [Link] = [Link]
inner join Products AS p on [Link] = [Link]*/

/* traer a los clientes que tengan al menos un pedido*/


--select *from Customers
select OrderID, [Link], CompanyName, OrderDate
from Customers C INNER JOIN Orders O on [Link] = [Link]

SELECT [Link], [Link], [Link], [Link]


from Orders as o
inner join Customers as c on [Link] = [Link]

/*Obtener todas las ordenes hechas por el empleado King Robert*/


--select *from Employees
select* from [Order Details]

/* Mostrar el número de la orden, fecha, código del producto, precio,


código del empleado y su nombre completo.*/
Select [Link], OrderDate, ProductID,UnitPrice, [Link], (lastname+ ' '
+Firstname)
from Orders As o
inner join [Order Details] as od on [Link] = [Link]
inner join Employees as e on [Link] = [Link]

/* Seleccionar todos los campos de clientes,cuya compania empiececon la letra B y


pertenezcan a UK ,ordenar por nombre de la compania*/
select *from Customers where CompanyName like 'B%' and Country = 'UK' order by
CompanyName desc

/* Visualizar el nombre y el id de la compania del cliente,fecha,precio unitario y


producto de la orden*/
select [Link],[Link],CompanyName, [Link], [Link], [Link]
from Customers as c
inner join Orders as o on
[Link] = [Link]
inner join [Order Details] as od on
[Link] = [Link]
inner join Products as p on
[Link] = [Link]

SELECT [Link],CompanyName,[Link],[Link],
[Link],[Link]
FROM Customers AS C
INNER JOIN Orders AS O
ON [Link]=[Link]
INNER JOIN [Order Details] AS OD
ON [Link]=[Link]
INNER JOIN Products AS P
ON [Link]=[Link]

-----------EJERCICIOS COMBINADOS CON INNER JOIN Y GROUP BY------------------------

/* Visualizar el nombre de la categoria y el numero de productos que hay por cada


categoria.*/
select [Link], count (*) as 'Total de Productos'
from Categories as c
inner join Products as p on
[Link] = [Link]
group by CategoryName

select [Link], count ([Link]) as 'Total Productos'


from Categories
inner join Products on [Link] = [Link]
group by CategoryName

/* Seleccionar los 5 productos mas vendidos*/


SELECT TOP 5 ProductName,SUM(Quantity) as 'Productos mas vendidos'
FROM [Order Details] AS D
INNER JOIN Products AS P
ON [Link]=[Link]
GROUP BY ProductName
ORDER BY SUM(Quantity)

/* Obtener todas las ordenes hechas por el empleado King Robert,Davolio Nancy y Fuller
Andrew*/
select [Link], [Link],(LastName+ ' ' +FirstName) as ' Nombre Completo de
Empleado'
from Orders as o
inner join Employees as e on
[Link] = [Link]
where ([Link]+ ' ' +[Link]) in ('King', 'Robert', 'Davolio', 'Nancy', 'Fuller
Andrew')

/* Obtener todos los productos(codigo,nombre,precio,stock) de las ordenes hechas desde


1997 hasta la fecha de hoy*/
select [Link], [Link], ProductName, [Link], UnitsInStock
from Products as p
inner join [Order Details] as od
on [Link] = [Link]
inner join Orders as o
on [Link] = [Link]
where year ([Link]) between 1997 and 2020

/*Obtener el Nombre del cliente,Nombre del Proveedor,Nombre del


empleado y el nombre de los productos que estan en la orden 10794*/

SELECT [Link],[Link],[Link],FirstName,ProductName
FROM Customers AS C
INNER JOIN Orders AS O
ON [Link]=[Link]
INNER JOIN Employees AS E
ON [Link]=[Link]
INNER JOIN [Order Details] AS OD
ON [Link]=[Link]
INNER JOIN Products AS P
ON [Link]=[Link]
INNER JOIN Suppliers AS S
ON [Link]=[Link]
WHERE [Link]=10794

---------------utilizando UNION -----------------------


/* Listar los Productos de Categoria 1 y los productos de la categoria 05*/
--use Northwind
--select *from Products
select *from Products where CategoryID = 1
union
select * from Products where CategoryID = 5

/* Listar Los Clientes de Francia (France), España (Spain) y Canada.*/


--select *from Customers
select CustomerID as 'Codigo', CompanyName as 'Cliente', Country as 'Pais'
from Customers where Country = 'France'
union
select CustomerID as 'Codigo', CompanyName as 'Cliente', Country as 'Pais'
from Customers where Country = 'Spain'
union
select CustomerID as 'Codigo', CompanyName as 'Cliente', Country as 'Pais'
from Customers where Country = 'Canada'
order by Pais, Cliente

/* Listar los proveedores que tienen mas de 03 productos registrados o lo que tienen un
producto.
Ordenado por cantidad de productos descendentemente*/
--select *from Suppliers
select [Link], [Link], [Link], (select COUNT ([Link])
from Products as p where [Link] = [Link]) As 'Cantidad de Productos'
from Suppliers as s where (select count ([Link]) from Products as p where
[Link] = [Link])>3
union
select [Link], [Link], [Link],
(select count([Link])
from Products As P where [Link]= [Link])
As 'Cantidad de Productos'
from Suppliers As S
where (select count([Link])
from Products As P where [Link]= [Link]) = 1
order by [Cantidad de Productos] desc

También podría gustarte