”UNIVERSIDAD NACIONAL “DANIEL ALCIDES CARRIÓN” FACULTAD DE INGENERIA ESCUELA DE SISTEMAS Y COMPUTACIÓN - VIII SEMESTRE SISTEMAS DE BASES II TEMA: CONSULTAS DE FUNCIONES AGREGADAS EN SQL DOCENTE: Ing. MUÑOZ ROBLES, Williams Antonio ALUMNA: PALMA CRISTOBAL, Tania
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
INSERT INTO CLIENTEVALUES ('CL002','PEDRO',35), ('CL003','JUAN',40), ('CL004','KARINA',18), ('CL005','JUANA',22), ('CL006','VANESA',47)
DATOS DE LA TABLA PRODUCTO
INSERT INTO PRODUCTO VALUES('PD001','YOGURT',5.20,20),('PD002','GASEOSA',3.5,24),('PD003','GALLETAS',1.5,40),('PD004','FIDEOS',1.2,35),('PD005','LECHE',3.20,48)
DATOS DE LA TABLA FACTURA
INSERT INTO FACTURA VALUES('1','100','23-04-2014','CL003'),('2','101','21-05-2014','CL002'),('3','102','18-06-2014','CL001'),('4','103','12-07-2014','CL004'),('5','104','13-07-2014','CL001'),('6','105','14-08-2014','CL003')
INSERT INTO FACTURAVALUES ('7','106','13-05-2015','CL002'), ('8','107','17-06-2015','CL001'), ('9','108','23-6-2015','CL004')
DATOS DE LA TABLA DFACTURA
INSERT INTO DFACTURA VALUES('1','100','PD002',5,18),('2','101','PD001',2,10.4),('3','102','PD003',4,6),('4','103','PD004',3,3.6),('5','104','PD005',3,9.6),('6','105','PD003',5, 7.5)
INSERT INTO DFACTURAVALUES ('1','100','PD004',10, 12)
INSERT INTO DFACTURAVALUES ('5','104','PD004',1, 1.2), ('8','107','PD001',2, 10.4)
1) AVG: Devuelve el promedio de los valores de un grupo. Los valores NULL se pasan por alto.
AVG ([ALL | DISTINCT] expresión)
SELECT AVG (CANTIDAD_PROD) AS PROMEDIO_CANTIDAD_PRODUCTOFROM PRODUCTO
SELECT AVG (PRECIO_PROD) AS PROMEDIO_PRECIOSFROM PRODUCTO
SELECT AVG (SUBTOTAL) AS [PROMEDIO TOTAL]FROM DFACTURA
2) COUNT: Devuelve el número de elementos de un grupo.
COUNT ({[[ALL | DISTINCT] expresión] | *})
-- CONTAR EL NUMERO DE PRODUCTOS
SELECT CLIENTE.ID_CLIENTE, NOMBRE_CLIENTE, COUNT (CANTIDAD) AS PRODUCTOSFROM FACTURA INNER JOIN CLIENTE ON FACTURA.ID_CLIENTE=CLIENTE.ID_CLIENTE INNER JOIN DFACTURA ON FACTURA.SERFAC=DFACTURA.SERFAC AND FACTURA.NROFAC=DFACTURA.NROFACGROUP BY CLIENTE.ID_CLIENTE, NOMBRE_CLIENTE
SELECT DISTINCT COUNT (NROFAC) AS CANTIDAD_FACTURAS_EMITIDASFROM FACTURA
---CONTAR LA CANTIDAD DE CLIENTES
SELECT COUNT (ID_CLIENTE) AS [TOTAL_CLIENTES]FROM CLIENTE
---CONTAR EL NUMERO DE PRODUCTOS VENDIDOS
SELECT PRODUCTO.ID_PROD, NOMBRE_PROD, COUNT (CANTIDAD) AS PRODUCTOSFROM DFACTURA INNER JOIN PRODUCTO ON DFACTURA.ID_PROD=PRODUCTO.ID_PROD GROUP BY PRODUCTO.ID_PROD, NOMBRE_PROD
--TOTAL DE REGISTROS DE LAS TABLAS DESDE UNA MISMA CONSULTA
AS [TOTAL REGISTROS] FROM CLIENTEUNIONSELECT 'PRODUCTO' AS [TABLA], COUNT (ID_PROD)AS [TOTAL REGISTROS] FROM PRODUCTOUNIONSELECT 'FACTURA' AS [TABLA], COUNT (SERFAC)AS [TOTAL REGISTROS] FROM FACTURAGO
3) MAX: Devuelve el valor máximo de la expresión
MAX ([ALL | DISTINCT] expresión)
SELECT MAX (EDAD_CLIENTE) AS EDAD_MAXIMAFROM CLIENTE
---MONTO MA SALTO Y MONTO MAS BAJO
SELECT MAX (SUBTOTAL) AS [MONTO MAYOR], MIN (SUBTOTAL) AS [MONTO MENOR]FROM DFACTURA
--- MONTO MA SALTO Y MONTO MAS BAJO POR AÑO
SELECT YEAR (FECHFAC) AS [AÑO], MAX (SUBTOTAL) AS [MONTO MAYOR],MIN (SUBTOTAL) AS [MONTO MENOR]FROM FACTURA, DFACTURAWHERE YEAR (FECHFAC)='2015'GROUP BY YEAR (FECHFAC)ORDER BY YEAR (FECHFAC) DESC
5) STEV: Devuelve la desviación típica estadística de todos los valores de la expresión especificada
STDEV ([ALL | DISTINCT] expresión)
---DETERMINAR LA DESVIACION ESTANDAR DEL PRODUCTO
SELECT STDEV (PRECIO_PROD) AS [DESVIACION ESTANDAR]FROM PRODUCTO
6) SUM: Devuelve la suma de todos los valores o sólo de los valores DISTINCT de la expresión
SELECT SUM (CANTIDAD_PROD) AS CANTIDAD_STOCKFROM PRODUCTO
--SACAR EL TOTAL DE UNA FACTURA ESPECIFICADA
SELECT SERFAC, NROFAC, SUM (SUBTOTAL) AS TOTAL_FACTURAFROM DFACTURA INNER JOIN PRODUCTO ON DFACTURA.ID_PROD=PRODUCTO.ID_PRODWHERE SERFAC='1' AND NROFAC='100'GROUP BY SERFAC, NROFAC
--SACAR EL TOTAL DE TODAS LAS FACTURAS
SELECT SERFAC, NROFAC, SUM (SUBTOTAL) AS TOTAL_FACTURAFROM DFACTURA INNER JOIN PRODUCTO ON DFACTURA.ID_PROD=PRODUCTO.ID_PRODGROUP BY SERFAC, NROFAC
SELECT CLIENTE.ID_CLIENTE, NOMBRE_CLIENTE, SUM (CANTIDAD) AS CANTIDAD_PRODUCTOFROM FACTURA INNER JOIN CLIENTE ON FACTURA.ID_CLIENTE=CLIENTE.ID_CLIENTE INNER JOIN DFACTURA ON FACTURA.SERFAC=DFACTURA.SERFAC AND FACTURA.NROFAC=DFACTURA.NROFACGROUP BY CLIENTE.ID_CLIENTE, NOMBRE_CLIENTE
---SUMA TOTAL POR CADA AÑO
SELECT DISTINCT YEAR (FECHFAC) AS [AÑO], SUM (SUBTOTAL) AS [TOTAL_ACUMULADO]FROM FACTURA, DFACTURAGROUP BY YEAR (FECHFAC)
---SUMA TOTAL POR CADA MES
SELECT DISTINCT MONTH (FECHFAC) AS [MES],SUM (SUBTOTAL) AS [TOTAL_ACUMULADO]FROM FACTURA, DFACTURAGROUP BY MONTH (FECHFAC)