miércoles, 2 de noviembre de 2011

OUTER JOIN

Se usa la base de datos Ciclismo.

Ejercicio 1 (Right Join):


select E.Nombre, E.[Fecha de ingreso],E.[Fecha de nacimiento],E.[Telefono domicilio],D.Ciudad,D.[Codigo postal],D.Pais
from Empleados E Right join Direccion_Empleados D on (E.[ID empleado] = D.[ID empleado])






Ejercicio 2 (Left Join):

select P.[Nombre producto],P.Color,P.[ID proveedor],P.[M/F],P.Precio, T.[Nombre tipo producto],T.Descripcion
from Productos P left join Tipo_Productos T on (P.[ID tipo producto] = T.[ID tipo producto])












JOIN, WHERE, GROUP BY y HAVING

De la Base de datos NorthWind elaboraremos las siguientes consultas:


Primer Ejercicio:



select C.Country,C.City, COUNT(O.OrderID)'Numero de Pedidos'
from Customers C JOIN Orders O ON (C.CustomerID = O.CustomerID)
group by C.Country,C.City
order by [Numero de Pedidos]


Segundo Ejercicio.

SELECT O.ShipAddress, COUNT(O.OrderID)'Cantidad de Ordenes',SUM(OD.Quantity)'Cantidad total'
FROM Orders O JOIN OrderDetails OD ON (O.OrderID = OD.OrderID)
WHERE O.ShipCountry = 'Mexico' 
GROUP BY O.ShipAddress
HAVING COUNT(O.OrderID) >=10
ORDER BY 2



HAVING

De la Base de datos NorthWind elaboraremos las siguientes consultas:


Ejercicio 1:



Select C.CategoryName,C.CategoryID, COUNT(P.ProductID) 'CANTIDAD DE PRODUCTOS'
from Products P JOIN Categories C ON (C.CategoryID = P.CategoryID)
group by C.CategoryName,C.CategoryID
having COUNT(P.ProductID) >= 4
Order by 3




Ejercicio 2:



select E.FirstName,E.EmployeeID, COUNT(E.EmployeeID)'Cantidad Sub-alternos'
from Employees E JOIN Employees E2 ON (E.EmployeeID = E2.ReportsTo) 
group by E.FirstName,E.EmployeeID
having COUNT(E.EmployeeID)>1





GROUP BY

De la Base de datos NorthWind elaboraremos las siguientes consultas:


Primer Ejercicio:



select E.FirstName,E.LastName,COUNT(*) 'numero de ordenes'
from Orders O JOIN Employees E on (O.EmployeeID = E.EmployeeID)
group by E.FirstName,E.LastName


Segundo Ejercicio:


select S.SupplierID, S.Country, COUNT(P.ProductID) 'Cantidad de Productos'
from Suppliers S JOIN Products P ON (S.SupplierID = P.SupplierID)
group by S.SupplierID, S.Country




JOIN

La siguientes consultas sera realizadas en la base de datos NORTHWIND:


Primer ejercicio:



Select C.CategoryName, P.ProductName, COUNT(*)'Cantidad de productos'
from Categories C Join Products P on (C.CategoryID = P.CategoryID)
group by C.CategoryName, P.ProductName



Segundo ejercicio: 

select P.ProductName,SUM(OD.Quantity) 'Cantidad Entregada'
from OrderDetails OD JOIN Products P on (OD.ProductID = P.ProductID)
group by P.ProductName