Вы находитесь на странице: 1из 3

- CONSULTAS SQL: OPERACIONES ALGEBRA RELACIONAL

--SELECCION, PROYECCION Y PRODUCTO CARTESIANO


--*:TODAS las columnas
--CLIENTES CON PEDIDOS DE LOS ESTADOS UNIDOS
SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE País='ESTADOS UNIDOS' AND
CLIENTES.IdCliente=PEDIDOS.IdCliente --LA CONDICIONAL ES IMPORTANTE
--PORQUE SOLO PERMITE MOSTAR LOS PEDIDOS QUE ESTAN RERLACIONADOS ENTRE SI
-- DISTINCT: MUESTRA LOS DATOS DIFERENTES
GROUP BY NombreCompañía
ORDER BY NombreCompañía

--VENTAS POR CATEGORIAS DEL AÑO 2016


SELECT NombreCategoría,
SUM(CANTIDAD*D.PRECIOUNIDAD) VENTA
FROM PEDIDOS,[Detalles de pedidos] D,Categorías,Productos
WHERE PEDIDOS.IdPedido=D.IDPEDIDO AND
D.IdProducto=Productos.IdProducto AND
Categorías.IdCategoría=Productos.IdCategoría AND
YEAR(FECHAPEDIDO)=2016
GROUP BY NombreCategoría

--VENTAS POR PAISES PARA EL AÑO 2017


SELECT País,
SUM(CANTIDAD*D.PRECIOUNIDAD) VENTA
FROM PEDIDOS,[Detalles de pedidos] D,Clientes
WHERE PEDIDOS.IdPedido=D.IDPEDIDO AND
PEDIDOS.IDCLIENTE=Clientes.IdCliente AND
YEAR(FECHAPEDIDO)=2017
GROUP BY País

--UNION, INTERSECCION Y DIFERENCIA


--UNION INTERSECT EXCEPT

--CLIENTES QUE COMPRARON DESPUES DE 3 MESES EN EL SEMESTRE 1 DEL AÑO 2017


((SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=1
INTERSECT
SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=5)
EXCEPT
(SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=2
UNION
SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=3
UNION
SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=4))
UNION
((SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=2
INTERSECT
SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=6)
EXCEPT
(SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=3
UNION
SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=4
UNION
SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=5))

--CLIENTES QUE COMPRARON DE FORMA CONSECUTIVA DOS MESES EN EL TRI1 DEL 2007
((SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=1
INTERSECT
SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=2)
EXCEPT
SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=3)
UNION
((SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=2
INTERSECT
SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=3)
EXCEPT
SELECT DISTINCT NombreCompañía
FROM CLIENTES,PEDIDOS
WHERE CLIENTES.IdCliente=PEDIDOS.IdCliente AND
YEAR(FECHAPEDIDO)=2017 AND MONTH(FECHAPEDIDO)=1)

--COMBINACION NATURAL Y EXTERNA IZQUIERDA


--INNER JOIN ON(Condicion) LEFT JOIN ON (Condicion)

--ventas por categorias para año 2016


SELECT NombreCategoría,
SUM(CANTIDAD*D.PRECIOUNIDAD) VENTA
FROM PEDIDOS P INNER JOIN [Detalles de pedidos] D
ON P.IDPEDIDO=D.IDPEDIDO INNER JOIN Productos T
ON D.IdProducto=T.IdProducto INNER JOIN Categorías C
ON C.IdCategoría=T.IdCategoría
WHERE YEAR(FECHAPEDIDO)=2016
GROUP BY NombreCategoría

Вам также может понравиться