Está en la página 1de 15

create database escuela

use escuela
-----------------------------
/* esta consulta es para saber
la cantidad de alumno de la tabla
que se muestra.*/
select count (nom_alu) 'Cantidad de Alumno'
from alumno

go
select * from mat_alu
select nom_c, mat_alu, nom_alu, edad_alu, nom_m, cred_m from carrera
inner join alumno on carrera.clave_c = alumno.clave_c1
inner join mat_alu on alumno.mat_alu = Mat_alu.Mat_alu2
inner join materia on mat_alu.clave_m1 = materia.clave_m
where edad_alu in (18,25)
----------------------------------------------------------------

select Nom_alu, Edad_alu, nom_m from alumno


inner join materia on alumno.mat_alu = materia.clave_m
---------------------------------------------------------
-- Consulta utilando graup by - se debe arreglar
select nom_alu, edad_alu, nom_c, sum(mat_alu)as Agrupados
from carrera
inner join alumno on carrera.clave_C = alumno.clave_c1
--where edad_alu >= 18
group by nom_c, edad_alu, nom_alu
---------------------------------------------------
select nom_alu, edad_alu, nom_c from carrera
inner join alumno on carrera.clave_C = alumno.clave_c1
where edad_alu >= 18 like 2
order by nom_c desc

inner join alu_pro on alumno.mat_alu = alu_pro.Mat_alu1


inner join profesor on alu_pro.clave_p1 = profesor.clave_p
where

exec sp_rename 'carrera.mon_c', 'nom_c'

select Mat_alu as Matricula, Nom_alu as Alumno, edad_alu as Edad, Sem_alu as Semestre,


mon_c as Nombre_de_carrera
from carrera inner join alumno
on carrera.clave_c = alumno.clave_c1
where mon_c = 'Diseño'

-----------------------------------------------
select nom_c, mat_alu, nom_alu, nom_m, cred_m from carrera
inner join alumno on carrera.clave_c = alumno.clave_c1
inner join mat_alu on alumno.mat_alu = Mat_alu.Mat_alu2
inner join materia on mat_alu.clave_m1 = materia.clave_m

where gen_alu = 'Mujer'

-- codigo con error uniendo tablas

select mon_c, nom_m, cred_m from carrera


inner join materia on carrera.clave_C = materia.clave_m

select nom_alu, edad_alu, nom_m,cred_m


from carrera
inner join Alumno on carrera.clave_c=alumno.clave_c1
inner join mat_alu on alumno.mat_alu=mat_alu.Mat_alu2
inner join materia on mat_alu.clave_m1=materia.clave_m
inner join mat_pro on materia.clave_m=mat_pro.clave_m2
inner join profesor on mat_pro.clave_p2=profesor.clave_p
where nom_m in ('Redes', 'Programación','Base de Datos')
select * from mat_alu

update Mat_alu set clave_m1 = 4 where clave_m1 =6


drop database escuela
use escuela
-- borra una llave foranea de la tabla alumno
alter table alumno
drop constraint fk_fc1

-- este cambia la relacion entre alumno y carrera


alter table alumno
add constraint fk_fc1 foreign key(clave_c1) references carrera(clave_c)

-- Cambia el tipo de datos de un campo de una tabla xxxx


alter table carrera
alter column mon_c varchar(55)
select * from alumno

-- añade una campo en la tabla alumno


alter table alumno
add clave_c1 int

-- este codigo borra el constraint de la tabla profesor


alter table profesor
drop constraint FK_FC2

-- este elimina un campo de la tabla alumno


alter table alumno
drop column mat_alu
go
delete from profesor
select * from profesor
select * from carrera
/*delete from carrera
delete from profesor
delete from alumno
delete from alu_pro
delete from mat_alu
delete from mat_pro*/
---------------------------------------------------------
insert into carrera values (1,'Informatica',4)
insert into carrera values (2,'Derecho',4)

insert into carrera values


(2,'Contabilidad',4),
(3,'Medicina',6)
---------------------------------------------
insert into profesor values
(2,'Laura Rosas', 'Calle Azul', 8095555555, '2022-02-14 7:00')
-----------------------------------------------
insert into alumno values
(2,'Emilio',21,3,'Masculino',3)

select * from alumno

-- Tabla Carrera
create table carrera(
clave_c int,
mon_c varchar(50),
durac_c float,
constraint pk_cc primary key (clave_c)
)

go
-- Tabla Materia
create table materia(

clave_m int,
nom_m varchar(50),
cred_m float,
constraint pk_cm primary key (clave_m)
)
go
-- Tabla Profesor

create table profesor(


clave_p int,
nom_p varchar(50),
dir_p varchar(200),
tel_p bigint,
hor_p datetime,
constraint pk_cp primary key(clave_p)
)

go

/*Tabla Alumno
Con una clave Foranea */

create table alumno(


mat_alu int,
nom_alu varchar(50),
edad_alu int,
sem_alu int,
gen_alu varchar(10),
clave_c1 int,

constraint pk_calu primary key (mat_alu),


constraint fk_fc1 foreign key(clave_c1) references carrera(clave_c)

)
go
-- alumno-profesor
create table alu_pro (
Mat_alu1 int,
clave_p1 int,

constraint fk_falu1 foreign key (mat_alu1) references alumno(mat_alu),


constraint fk_fp1 foreign key (clave_p1) references profesor(clave_p)

)
go
-- Tabla Materia-Alumno
create table mat_alu (
clave_m1 int,
Mat_alu2 int,

constraint fk_fm1 foreign key (clave_m1) references materia(clave_m),


constraint fk_falu2 foreign key (mat_alu2) references alumno(mat_alu)

)
go
--select * from alumno
-- Materia-Prefesor
create table mat_pro(
clave_m2 int,
clave_p2 int,

constraint fk_fm2 foreign key (clave_m2) references materia(clave_m),


constraint fk_fp2 foreign key (clave_p2) references profesor(clave_p)

)
go
select * from alumno where nom_alu='Maicol'
select * from carrera

insert into carrera values


(6,3,'Cont'),
(2,'Derecho',5)
delete from carrera Where clave_c=4
alter table carrera
alter column durac_c float
----------------------------------------
select * from alumno
select * from carrera
select * from materia
select * from profesor
update alumno set nom_alu = 'Maicol' where mat_alu =2
update alumno set edad_alu = 23 where mat_alu =3
delete from alumno where mat_alu >1
insert into alumno Values
(4,'',19,2,'Masculino',2),
(2,'Juan',21,4,'Masculino',1),
(3,'Maria',27,6,'Femenina',2)

--insert into alumno values(1,'Sergio',19,7,'Hombre',3)


--select * from alumno
--select * from carrera
--select * from materia
---------------------------------------------------------------------------------
--Insertar los datos a las tablas
--Tabla Carrera
delete from carrera
select * from carrera
go
insert into carrera values (1,'Derecho', 3)
insert into carrera values (2,'Ing. En Sistemas', 4)
insert into carrera values (3,'Diseño',3)
insert into carrera values (4,'Contabilidad',5)
insert into carrera values (5,'Administracion de Empresa',2)
insert into carrera values (6,'Ing. Civil',4)
/*
update materia set nom_m= 'Matematica' where clave_m= 1
update materia set nom_m= 'Español' where clave_m= 2
update materia set nom_m= 'Dibujo' where clave_m= 3
update materia set nom_m= 'Programación' where clave_m= 4
update materia set nom_m= 'Redes' where clave_m= 5
update materia set nom_m= 'Base de Datos' where clave_m= 6
*/
go
select * from materia
-- Tabla Materia
insert into materia values (6, 'Base de Datos',15)
insert into materia values (1,'Matematicas', 25)
insert into materia values (2,'Español', 15)
insert into materia values(3,'Dibujo',15)
insert into materia values(4,'Programación',20)
insert into materia values(5,'Redes',18)
go
--Tabla Profesor
alter table profesor
drop column mon_c
select * from profesor
insert into profesor values (1,'Laura Rosas', 'Calle Azul', 8095555555, '7:00')
insert into profesor values (3,'Jose Peña', 'Calle Blanca', 8095526955, '2018-01-06 10:00')
insert into profesor values (2,'Roberto Diaz', 'Calle Rosa', 8295555555, '9:00')
insert into profesor values (4,'Emilio Batista', 'Calle Morada', 8494444445, '5:00')
select * from carrera
update profesor set hor_p = '2021-10-5 15:00' where clave_p= 1
update profesor set hor_p ='2021-2-28 13:15' where clave_p= 2
update profesor set hor_p ='2021-5-31 12:15' where clave_p =4

delete from carrera where durac_c > 3

go

delete from alumno where nom_alu ='Alexander Montilla'

--Tabla Alumno
select * from alumno
insert into alumno values (2,'Emilio Batista',28,9,'Hombre',2)
insert into alumno values(1,'Sergio',19,7,'Hombre',2)
insert into alumno values(3,'Julieta',20,6,'Mujer',3)
insert into alumno values(4,'Maria Teresa',27,8,'Mujer',6)
insert into alumno values(5,'Darilina Peña',32,9,'Mujer',4)
insert into alumno values(6,'Fabian Guzman',18,2,'Hombre',5)
insert into alumno values(7,'Alexander Montilla',35,2,'Hombre',2)
-----------------------------------------------------------------------
insert into alumno values (8,'Pedro Juan',21,3,'Hombre',3),
(9,'Sacarias Flores',30,10,'Hombre',1)

select mat_alu as Matricula, Nom_alu as Nombre, Sem_alu as Semestre from alumno


go
--Tabla Alu_Pro
insert into alu_pro values (2,2)
insert into alu_pro values(2,2)
insert into alu_pro values(3,2)
insert into alu_pro values(1,4)
insert into alu_pro values(3,1)
insert into alu_pro values(4,1)
go
--Tabla Mat_Alu
insert into mat_alu values (1,5)
insert into mat_alu values(2,4)
insert into mat_alu values(3,2)
insert into mat_alu values(2,3)
insert into mat_alu values(5,1)
go
--Tabla Mat_Pro
select * from mat_pro
insert into mat_pro values (2,2)
insert into mat_pro values (1,3)
insert into mat_pro values (1,1)
insert into mat_pro values (4,4)
insert into mat_pro values (6,4)
go
----------------------------------------------
/*aqui estan las uniones de las tablas que vamos
a utilizar */
--select * from carrera
use escuela
select * from mat_pro
insert into mat_pro values (5,3)
select mat_alu, nom_alu, Edad_alu, nom_c, Nom_m, Nom_p, Hor_p
from carrera
inner join Alumno on carrera.clave_c=alumno.clave_c1
inner join mat_alu on alumno.mat_alu=mat_alu.Mat_alu2
inner join materia on mat_alu.clave_m1=materia.clave_m
inner join mat_pro on materia.clave_m=mat_pro.clave_m2
inner join profesor on mat_pro.clave_p2=profesor.clave_p
where nom_m = 'Redes'
select * from materia
alter table materia
alter column cred_m float
update materia set cred_m = 25
where clave_m in (4,6)

---------------------------------------------------
select Mat_alu as Matricula, Nom_alu as Nombre, Nom_c as Carrera
from alumno
inner join carrera on alumno.clave_c1=carrera.clave_c
where nom_c <> 'Ing. En Sistemas'

select nom_alu as Alumno, clave_c as NumCarrera, nom_c as Carrera


from carrera
inner join alu_pro on alumno.mat_alu = alu_pro.Mat_alu1
-----------------------------------------------------------------------------
alter table carrera
alter column nom_c

select nom_alu as Alumno, clave_c as NumCarrera, nom_c as Carrera, nom_p as NomProfesor


from carrera
inner join alu_pro on alumno.mat_alu = alu_pro.Mat_alu1
inner join profesor on alu_pro.clave_p1 = profesor.clave_p
where clave_c > 1 or nom_c = 'Contabilidad'

--in ('Contabilidad','Ing. Civil' )

select * from alumno


select nom_alu, edad_alu as Edad, mat_alu as Matricula from alumno
where nom_alu ='sergio'

select mat_alu, nom_alu, edad_alu from alumno


where nom_alu ='Sergio'

select mat_alu as Matricula, nom_alu as Nombres, edad_alu as Edad from alumno


where edad_alu > 20 and edad_alu < 30

/* Pregunta- Como se puede hacer que salgan en la tabla resultande


las edades que esteb entre 20 y 30*/ --Pregunta de David
select mat_alu as Matricula, nom_alu as Nombres, edad_alu as Edad from alumno
where edad_alu in (21,35,18)
---------------------------------------------------------------------------
select * from alumno
select mat_alu,nom_alu, edad_alu, gen_alu
from alumno
where edad_alu >=33 and gen_alu= 'hombre'
---------------------------------------
select mat_alu,nom_c, durac_c
from alumno inner join carrera
on carrera.clave_c = alumno.clave_c1
where durac_c > 2
---------------------------------------
delete from materia
select * from materia
select mat_alu, nom_alu, edad_alu, nom_m, cred_m
from alumno
inner join mat_alu on
alumno.mat_alu = mat_alu.Mat_alu2
inner join materia on
mat_alu.clave_m1 = materia.clave_m
----------------------------------------------------------
select mat_alu as Matricula,nom_alu as Alumno, edad_alu as Edad,
nom_c as Carrera, durac_c as Duración
from alumno inner join carrera on
alumno.clave_c1= carrera.clave_c
where edad_alu >=20 and gen_alu= 'mujer'
------------------------------------------------
select * from alumno
select mat_alu, nom_alu, edad_alu from alumno
inner join mat_alu on alumno.mat_alu=mat_alu.Mat_alu2
inner join materia on mat_alu.clave_m1=materia.clave_m
where nom_alu = 'Emilio Batista'

------------------------------------------------------
select mat_alu, nom_alu, nom_m, cred_m, clave_c1 from alumno
inner join mat_alu on alumno.mat_alu=mat_alu.mat_alu2
inner join materia on mat_alu.clave_m1=materia.clave_m
where nom_alu in ('Julieta', 'Sergio')

----------------------------------------------------------------------

--Union de tablas junto con select y where


select mat_alu, nom_alu, edad_alu, sem_alu, nom_c,nom_p,nom_m
from alumno inner join carrera on alumno.clave_c1=carrera.clave_c
inner join alu_pro on alu_pro.Mat_alu1=alumno.mat_alu
inner join profesor on profesor.clave_p=alu_pro.clave_p1
inner join mat_alu on mat_alu.Mat_alu2=alumno.mat_alu
inner join materia on materia.clave_m=mat_alu.clave_m1
where nom_alu='Emilio Batista'
---------------------------------------------------
Select * from alumno
delete from alumno

delete from alumno


where nom_alu = 'Fabian Guzman'

--drop table profesor


--drop database emilio

---------------------------------------------------
select * from alumno
select * from materia
select * from carrera
select * from profesor
select * from alu_pro
select * from mat_alu
select * from mat_pro
-----------------------------------------------------
--Eliminar registros con una condicion
delete from profesor where clave_p=4
delete from carrera
where clave_c =6
--------------------------------------------------------
--Actulizar las tablas
select mat_alu, nom_alu, nom_c, durac_c, nom_p, dir_p from alumno
inner join carrera on
carrera.clave_c=alumno.clave_c1
inner join alu_pro on
alumno.mat_alu=alu_pro.Mat_alu1
inner join profesor on
alu_pro.clave_p1=profesor.clave_p
where nom_c = 'ing. En Sistemas'

delete from alumno


where mat_alu in (6)

select * from alumno


--como hacer mas complejo el update
update alumno set gen_alu = 'Mujer'
where Mat_alu =8 or edad_alu = 18

update materia set cred_m =25


where clave_m =1
where Mat_alu1 =2

select * from carrera


update alumno set edad_alu = 18 set nom_alu = 'Alexander'
where mat_alu = 1
---------------------------------------------------
delete from carrera where clave_c=1
where clave_c =6
--------------------------------------------------
select * from profesor
update materia set cred_m =25 where clave_m =1
update profesor set dir_p = 'Calle Verde' where clave_p=1
update profesor set hor_p = '2013-11-24 17:15:10' where clave_p=2
update profesor set hor_p = '2017-05-13 23:15' where clave_p=1
update alumno set nom_alu= 'Michal Blanco' where mat_alu=2
select * from profesor
update profesor
set nom_p= 'Perla Areche',
dir_p= 'Calle Verde',
tel_p= 8095555555,
hor_p= '2000-05-25 15:25:10'
where clave_p=1

identity
--Union de tablas junto con select y where Parte #2
select mat_alu, nom_alu, edad_alu, sem_alu, nom_c, nom_p,nom_m
from alumno inner join carrera on alumno.clave_c1=carrera.clave_c
inner join alu_pro on alu_pro.Mat_alu1=alumno.mat_alu
inner join profesor on profesor.clave_p=alu_pro.clave_p1
inner join mat_alu on mat_alu.Mat_alu2=alumno.mat_alu
inner join materia on materia.clave_m=mat_alu.clave_m1
where edad_alu <> 17

-- En este se llega por otro lado a las Tablas


select mat_alu as Matricula, nom_alu as Nombre, edad_alu as Edad, gen_alu as Genero,
nom_m as Materia, cred_m as Credito --, nom_p
from alumno inner join mat_alu on mat_alu.mat_alu2=alumno.mat_alu
inner join materia on materia.clave_m=mat_alu.clave_m1
inner join mat_pro on mat_pro.clave_m2=materia.clave_m

select * from alumno


select * from materia
select * from Mat_alu
select * from carrera

delete from carrera where mon_c = 'derecho'


truncate table materia
update materia set nom_m= 'Programacion'
where clave_m= 4
-----------------------------------------------------------------------------
-- cambiar parametros a una tablas o modificar los campos de una tabla
select * from profesor

update profesor set ape_p = 'Encarnación'


where clave_p=2 or nom_p = 'Isabela Duran'
--Agregar campos a una tabla
alter table profesor
add ape_p varchar(15)

select * from carrera

-- ejecutar procedimientos almacenados


exec sp_rename 'carrera.nombre', 'nom_c'

-- eliminar campos de una tabla x


alter table profesor
drop column ape_p

-- agregar un campo con su tipo de datos


alter table profesor
add ced_p int

-- eliminar varios campos al mismo tiempo


alter table carrera
drop column cod_c, cedula_alu

alter table profesor


drop column ced_p

-- modificar el tipo de dato de un campo ya existente


alter table profesor
alter column ced_p float

select from carrera


-- procedimiento almacenado para cambiar los nombres a los campos
exec sp_rename 'carrera.nom_c','Nombre'
select * from carrera
-- utilizar el comando distinct , no se repiten los datos
select distinct durac_c, nom_c from carrera
select distinct gen_alu from alumno
-- utilizar condiciones con el comando "In"
select mat_alu, nom_alu, nom_m, cred_m, clave_c1 from alumno
inner join mat_alu on alumno.mat_alu=mat_alu.mat_alu2
inner join materia on mat_alu.clave_m1=materia.clave_m
where nom_alu in ('Julieta', 'sergio')
-- Utilizar el comando contar valores de una tabla y pasando un nombre a la nueva tabla
Select * from alumno
select COUNT (mat_alu)'Cantidad Estudiante'
from alumno
select COUNT (nom_alu)'Suma Estudiante'
from alumno A
select * from alumno

/* INCOMPLETO - select a.nom_alu, a.sem_alu, a.mat_alu from carrera A


inner join mat_alu Mat on a.mat_alu=mat.mat_alu2
inner join materia M on mat_alu.clave_m1=materia.clave_m
where nom_alu in ('Julieta', 'sergio')*/
------------------------------------------------------

select Aa.edad_alu, Aa.nom_alu, Aa.gen_alu from alumno Aa


where mat_alu >=0

*/

-- consulta utilizando Group By


select mat_alu, nom_alu, edad_alu, sem_alu, nom_c, nom_p,nom_m
from alumno inner join carrera on alumno.clave_c1=carrera.clave_c
inner join alu_pro on alu_pro.Mat_alu1=alumno.mat_alu
inner join profesor on profesor.clave_p=alu_pro.clave_p1
inner join mat_alu on mat_alu.Mat_alu2=alumno.mat_alu
inner join materia on materia.clave_m=mat_alu.clave_m1
where edad_alu <> 17
group by
--------------------------------------------------
-- insert de la tabla carrera
insert into carrera values (1,'Derecho', 3)
insert into carrera values (2,'Ing. En Sistemas', 4)
insert into carrera values (3,'Diseño',3)
insert into carrera values (4,'Contabilidad',5)
insert into carrera values (5,'Administracion de Empresa',2)
insert into carrera values (6,'Ing. Civil',4)

-- Tabla Materia
insert into materia values (6, 'Base de Datos',15)
insert into materia values (1,'Matematicas', 25)
insert into materia values (2,'Español', 15)
insert into materia values(3,'Dibujo',15)
insert into materia values(4,'Programación',20)
insert into materia values(5,'Redes',18)
-- insert de la tabla profesor
insert into profesor values (1,'Laura Rosas', 'Calle Azul', 8095555555, '7:00')
insert into profesor values (3,'Jose Peña', 'Calle Blanca', 8095526955, '2018-01-06 10:00')
insert into profesor values (2,'Roberto Diaz', 'Calle Rosa', 8295555555, '9:00')
insert into profesor values (4,'Emilio Batista', 'Calle Morada', 8494444445, '5:00')

--Tabla Alumno
select * from alumno
insert into alumno values (2,'Emilio Batista',28,9,'Hombre',2)
insert into alumno values(1,'Sergio',19,7,'Hombre',2)
insert into alumno values(3,'Julieta',20,6,'Mujer',3)
insert into alumno values(4,'Maria Teresa',27,8,'Mujer',6)
insert into alumno values(5,'Darilina Peña',32,9,'Mujer',4)
insert into alumno values(6,'Fabian Guzman',18,2,'Hombre',5)
insert into alumno values(7,'Alexander Montilla',35,2,'Hombre',2)
-----------------------------------------------------------------------
insert into alumno values (8,'Pedro Juan',21,3,'Hombre',3),
(9,'Sacarias Flores',30,10,'Hombre',1)

go
--Tabla Alu_Pro
insert into alu_pro values (2,2)
insert into alu_pro values(2,2)
insert into alu_pro values(3,2)
insert into alu_pro values(1,4)
insert into alu_pro values(3,1)
insert into alu_pro values(4,1)
go
--Tabla Mat_Alu
insert into mat_alu values (1,5)
insert into mat_alu values(2,4)
insert into mat_alu values(3,2)
insert into mat_alu values(2,3)
insert into mat_alu values(5,1)
go
--Tabla Mat_Pro
select * from mat_pro
insert into mat_pro values (2,2)
insert into mat_pro values (1,3)
insert into mat_pro values (1,1)
insert into mat_pro values (4,4)
insert into mat_pro values (6,4)
go

También podría gustarte