Sei sulla pagina 1di 3

CREATE TABLE Estudiante ( Cedula varchar(10), Nombre varchar(35), Apellido varchar(35), Becado varchar(1), Programa varchar(20), CONSTRAINT pk_ide

primary key (Cedula)) CREATE TABLE Asignatura( Codigo varchar(10), Nombre_mat varchar(35), ihoraria int, notaminima float, semestre int, CONSTRAINT pk_ida primary key (Codigo)) CREATE TABLE Notas( Alumno varchar(15), Materia varchar(10), nota1 float, nota2 float, nota3 float, notadefinitiva float, CONSTRAINT fk_1 FOREIGN KEY (Alumno) REFERENCES Estudiante (Cedula), CONSTRAINT fk_Materia FOREIGN KEY (Materia) REFERENCES Asignatura (Codigo), CONSTRAINT pk_1 PRIMARY KEY (Alumno , Materia)) --1.Mostrar todos los datos de la tabla ESTUDIANTES. INSERT INTO Estudiante VALUES ('10','Natalia','Sanchez','N','Sistemas') INSERT INTO Estudiante VALUES ('11','Paula andrea','Pinzon','N','Sistemas') INSERT INTO Estudiante VALUES ('12','Catalina','Guerrero','S','Contadura') INSERT INTO Estudiante VALUES ('13','Tatiana','Jimenez','N','Contadura') INSERT INTO Estudiante VALUES ('14','Hugo','Rodallega','S','Sistemas') INSERT INTO Estudiante VALUES ('15','Ismael','Rivera','S','Publicidad') SELECT * FROM Estudiante --2.Mostrar el nombre y el apellido de los estudiantes que estudian sistemas. SELECT Nombre, Apellido FROM Estudiante Where Programa='Sistemas' --3.Mostrar las asignaturas que se gana con notas mayores o iguales a 3.5 INSERT INTO Asignatura VALUES ('A1','ALGORITMOS','6','4','1') INSERT INTO Asignatura VALUES ('A2','BASES DE DATOS','6','4','2') INSERT INTO Asignatura VALUES ('A3','MATEMATICA I','8','3.5','1') INSERT INTO Asignatura VALUES ('A4','FISICA I','6','3','1') INSERT INTO Asignatura VALUES ('A5','MATEMATICA II','4','3.5','2') INSERT INTO Asignatura VALUES ('A6','FISICA II','6','3','2') SELECT * FROM Asignatura SELECT Nombre_mat FROM Asignatura Where notaminima >='3.5' --4.Mostrar los estudiantes cuyo apellido empieza por P. SELECT Cedula,Nombre, Apellido,Becado, Programa FROM Estudiante Where Apellido L ike '%P%' --5.Mostrar los estudiantes que estudian contadura y que no estn becados. SELECT Nombre FROM Estudiante Where Programa='Contadura' And Becado='N' --6.Inserte un nuevo registro en la tabla estudiante (16, OSCAR DE LEON,S,Public idad)

INSERT INTO Estudiante VALUES('16','OSCAR' ,'DE LEON','S','Publicidad') select * FROM Estudiante --7.Inserte un nuevo registro en la tabal asignatura (A7,LABORATORIO I,6,3.2,1) INSERT INTO Asignatura VALUES('A7','LABORATORIO I','6','3.2','1') select * from Asignatura --8.Actualice las definitivas de cada estudiante segn los porcentajes. INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT INSERT select INTO Notas VALUES INTO Notas VALUES INTO Notas VALUES INTO Notas VALUES INTO Notas VALUES INTO Notas VALUES INTO Notas VALUES INTO Notas VALUES INTO Notas VALUES INTO Notas VALUES INTO Notas VALUES * from Notas ('10','A1','2','2','4','0') ('10','A4','3','3','3','0') ('12','A1','4','2','2','0') ('12','A3','5','4','3','0') ('12','A4','3','5','4','0') ('14','A1','3','4','5','0') ('14','A3','4','5','3','0') ('14','A4','3','5','2','0') ('14','A2','3','4','1','0') ('14','A5','2','3','2','0') ('14','A6','4','2','3','0')

UPDATE Notas set nota1 = nota1 * 0.35 UPDATE Notas set nota2 = nota2 * 0.35 UPDATE Notas set nota3 = nota3 * 0.30 UPDATE Notas set notadefinitiva = nota1 + nota2 + nota3 select * from Notas ******************************************************************************** * --1.Mostrar de la tabla estudiantes todos los registros tendiendo en cuenta que el nombre debe mostrarse en mayuscula y el apellido en minscula. SELECT Cedula,Nombre, Apellido,Becado, Programa, Upper (Nombre), Lower(Apellido ) FROM Estudiante --2.Realizar una consulta que muestre el nombre, apellido y programa de todos lo s estudiantes, adems debe mostrar un mensaje que diga BECADO o NO BECADO dependie ndo del estado del campo becado. SELECT Nombre, Apellido, Programa, Case When Becado='N' then 'NO BECADO' Else ' BECADO' End As Asignacion FROM Estudiante --3.3. Mostrar los registro de a tabla estudiante con el siguiente formato: SELECT Cedula, Nombre + ' ' + Apellido as Nombres FROM Estudiante --4.Mostrar cada campo de la tabla asignatura con su respectivo numero de caract eres. SELECT Codigo,Len(Codigo)as caracteres, Nombre_mat,Len(Nombre_mat)as caracteres, ihoraria,Len(ihoraria)as caracteres, notaminima,Len(notaminima)as caracteres,sem estre,Len(semestre)as caracteres from Asignatura --5.Mostrar los estudiantes que no tienen programa. SELECT Cedula,Nombre, Apellido,Becado, Programa FROM Estudiante WHERE (Programa is null) or Programa=''

******************************************************************************** ******* consulta de varias tablas 1. Mostrar el nombre, apellido , programa, codigo de la asignatura y definitiva de cada estudiante Select E.Nombre , E.Apellido, A.Codigo, N.notadefinitiva from Estudiante as E, Asignatura as A , Notas as N WHERE E.Cedula= N.Alumno AND A.Codigo=n.Materia 2. Mostrar el nombre , apellido, programa, nombre dela asiganatura y definitiva de cada estudiante. Select E.Nombre , E.Apellido, A.Nombre_mat, N.notadefinitiva from Estudiante as E, Asignatura as A , Notas as N WHERE E.Cedula= N.Alumno AND A.Codigo=N.Materia 3. Mostrar el nombre y el programa de los estudiantes que no tienen ninguna nota en ninguna asignatura. Select E.Nombre, N.Materia from Estudiante as E left join Notas as N /*--- muestra todos los registros asi no tenga registro en notas */ on N.Alumno =E.Cedula /*Condicion*/ where n.Alumno is null 4. mostrar las asignaturas que no tengan nota Select