SENTENCIAS SELECT EN ORACLE PASOS -- 1. -- 2. -- 3. PARA REALIZAR UNA CONSULTA Identificar las Tablas Identificar los
Views 155 Downloads 1 File size 633KB
SENTENCIAS SELECT EN ORACLE
PASOS -- 1. -- 2. -- 3.
PARA REALIZAR UNA CONSULTA Identificar las Tablas Identificar los Campos a mostrar Identificar los Campos relacionados entre las tablas
-- 1. PRODUCTO P, MARCA M, VENTAS V -- 2. P.PRODUCTO_DESCRIP, M.MARCA_NOMBRE, V.UNIDADES -- 3. P.PRODUCTO_ID = V.PRODUCTO_ID, P.MARCA_ID = M.MARCA_ID, REQUERIMIENTO --LISTADO DE MARCA_DESCRIPCION, PRODUCTO_DESCRIPCION, CANTIDAD_VENDIDA CREACIÓN DE SENTENCIA SELECT SELECT P.PRODUCTO_DESCRIP, M.MARCA_NOMBRE, V.UNIDADES FROM PRODUCTO P INNER JOIN MARCA M ON P.MARCA_ID =M.MARCA_ID INNER JOIN VENTAS V ON P.PRODUCTO_ID = V.PRODUCTO_ID AND V.MARCA_ID = M.MARCA_ID;
SELECT COUNT(*) FROM VENTAS;
SELECT COUNT(*) FROM MARCA;
SELECT COUNT(*) FROM PRODUCTO;
SELECT COUNT(*) FROM PRODUCTO P , MARCA M, VENTAS V -- 499 X 6 X 10 = 29,940
SELECT COUNT(*) FROM PRODUCTO P INNER JOIN MARCA M ON P.MARCA_ID =M.MARCA_ID INNER JOIN VENTAS V ON P.PRODUCTO_ID = V.PRODUCTO_ID;
-- NIVELES DE AGRUPACION POR PRODUCTO_DESCRIP, MARCA_NOMBRE -- SUMA DE UNIDADES --ES NECESARIO COLOCAR LOS CAMPOS DE NIVELES DE AGRUPACIÓN EN LA SENTENCIA GROUP BY SELECT P.PRODUCTO_DESCRIP, M.MARCA_NOMBRE, SUM(V.UNIDADES) FROM PRODUCTO P INNER JOIN MARCA M ON P.MARCA_ID =M.MARCA_ID INNER JOIN VENTAS V ON P.PRODUCTO_ID = V.PRODUCTO_ID AND V.MARCA_ID = M.MARCA_ID GROUP BY P.PRODUCTO_DESCRIP, M.MARCA_NOMBRE ORDER BY SUM(V.UNIDADES) DESC;
SELECT * FROM VENTAS WHERE Marca_Id=1; --AGRUPACIÓN Y HAVING --HAVING PERMITE APLICAR UN FILTRO DESPUÉS DE AGRUPAR O CONDICIONAR LOS RESULTADOS ---DESPUÉS DE REALIZAR UNA AGRUPACIÓN --ES NECESARIO COLOCAR LOS CAMPOS DE NIVELES DE AGRUPACIÓN EN LA SENTENCIA GROUP BY SELECT P.PRODUCTO_DESCRIP, M.MARCA_NOMBRE, SUM(V.UNIDADES) FROM PRODUCTO P INNER JOIN MARCA M ON P.MARCA_ID =M.MARCA_ID INNER JOIN VENTAS V ON P.PRODUCTO_ID = V.PRODUCTO_ID AND V.MARCA_ID = M.MARCA_ID GROUP BY P.PRODUCTO_DESCRIP, M.MARCA_NOMBRE HAVING SUM(V.UNIDADES) >170 ORDER BY SUM(V.UNIDADES) DESC;
--AGRUPAR POR SUCURSAL Y TOTALIZAR LAS UNIDADES, DÓLARES (Unidades*Precio) Y RECUENTO --(CANTIDAD DE REGISTROS) SELECT S.Sucursal_Nombre,SUM(V.UNIDADES) , SUM(V.UNIDADES * V.PRECIO) FROM VENTAS V INNER JOIN SUCURSAL S ON V.Sucursal_Id = S.Sucursal_Id GROUP BY S.Sucursal_Nombre ORDER BY SUM(V.UNIDADES * V.PRECIO) DESC;
SELECT S.Sucursal_Nombre,SUM(V.UNIDADES) , SUM(V.UNIDADES * V.PRECIO) FROM VENTAS V INNER JOIN SUCURSAL S ON V.Sucursal_Id = S.Sucursal_Id GROUP BY S.Sucursal_Nombre HAVING SUM(V.UNIDADES * V.PRECIO) > 190000 ORDER BY SUM(V.UNIDADES * V.PRECIO) DESC;