SENTENCIAS SQL - ORACLE CON RESULTADOS

SENTENCIAS SELECT EN ORACLE PASOS -- 1. -- 2. -- 3. PARA REALIZAR UNA CONSULTA Identificar las Tablas Identificar los

Views 155 Downloads 1 File size 633KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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;