SQL CALCULAR PROMEDIOS

CREATE TABLE ESTUDIANTES
(
CODE NUMBER (3) NOT NULL ,
NOMBRE VARCHAR2 (20) ,
CARRERA VARCHAR2 (30)
) ;
ALTER TABLE ESTUDIANTES ADD CONSTRAINT ESTUDIANTES_PK PRIMARY KEY ( CODE ) ;


CREATE TABLE MATERIAS
( CODM NUMBER (3) NOT NULL , MATERIA VARCHAR2 (30)
) ;
ALTER TABLE MATERIAS ADD CONSTRAINT MATERIAS_PK PRIMARY KEY ( CODM ) ;

CREATE TABLE NOTAS
(
CODE NUMBER (3) NOT NULL ,
CODM NUMBER (3) NOT NULL ,
N1 FLOAT (2) ,
N2 FLOAT (2) ,
N3 FLOAT (2)
) ;
ALTER TABLE NOTAS ADD CONSTRAINT NOTAS_PK PRIMARY KEY ( CODE, CODM ) ;


ALTER TABLE NOTAS ADD CONSTRAINT FK_ASS_1 FOREIGN KEY ( CODE ) REFERENCES ESTUDIANTES ( CODE ) ;

ALTER TABLE NOTAS ADD CONSTRAINT FK_ASS_2 FOREIGN KEY ( CODM ) REFERENCES MATERIAS ( CODM ) ;


INSERTANDO DATOS A LA TABLA


INSERT INTO ESTUDIANTES VALUES
(1,'GOKU','ARTESMARCIALES');

INSERT INTO ESTUDIANTES VALUES
(2,'KRILIN','TAEKONDO');

INSERT INTO ESTUDIANTES VALUES
(3,'PICOLO','BOTANICA');

INSERT INTO MATERIAS VALUES
(10,'BIOLOGIA');

INSERT INTO MATERIAS VALUES
(20,'DEPORTES');

INSERT INTO MATERIAS VALUES
(30,'QUIMICA');

INSERT INTO NOTAS VALUES
(1,10,3.5,4.5,3.9);
INSERT INTO NOTAS VALUES
(1,30,4,3.5,3.8);
INSERT INTO NOTAS VALUES
(2,10,3.9,4.2,4.1);
INSERT INTO NOTAS VALUES
(2,20,4.3,4,4.3);
INSERT INTO NOTAS VALUES
(3,10,3.5,3.2,4.2);
INSERT INTO NOTAS VALUES
(3,30,3.3,4,3);


FUNCIONES Y RESULTADOS

CREATE OR REPLACE FUNCTION DEFINITIVA (n1 NUMBER,n2 NUMBER,n3 NUMBER)

return NUMBER

is

DEF float;

begin

DEF := (N1*0.3+N2*03+N3*0.4);

return DEF;

end DEFINITIVA;


SELECT E.CODE,E.NOMBRE,M.MATERIA ,N.N1 "PRIMERA NOTA",N.N2 "SEGUNDA NOTA",N.N3 "TERCERANOTA",DEFINITIVA (N1/3,N2/3,N3/3) "PROMEDIO ALUMNO"

FROM NOTAS N

INNER JOIN ESTUDIANTES E ON N.CODE = E.CODE

INNER JOIN MATERIAS M ON M.CODM = N.CODM


Share this

Related Posts

Previous
Next Post »