Академический Документы
Профессиональный Документы
Культура Документы
/* bang SINHVIEN */
CREATE TABLE SINHVIEN(TEN VARCHAR(30),MASV SMALLINT NOT NULL ,NAM SMALLINT,KHOA CHAR(5),
CONSTRAINT P_SV PRIMARY KEY (MASV))
/* bang MONHOC */
CREATE TABLE MONHOC(TENMH VARCHAR(20) NOT NULL,MAMH CHAR(10)NOT NULL,TINCHI SMALLINT,KHOA CHAR(5),
CONSTRAINT P_MH PRIMARY KEY (MAMH))
/*bang DIEUKIEN */
CREATE TABLE DIEUKIEN(MAMH CHAR(10) NOT NULL,MAMHTRUOC CHAR(10)NOT NULL,
CONSTRAINT P_DK PRIMARY KEY (MAMH,MAMHTRUOC),
CONSTRAINT F_DK FOREIGN KEY (MAMH) REFERENCES MONHOC(MAMH),
CONSTRAINT F_dk2 FOREIGN KEY (MAMHTRUOC) REFERENCES MONHOC(MAMH) )
/*bang KHOAHOC */
CREATE TABLE KHOAHOC(MAKH SMALLINT NOT NULL,MAMH CHAR(10)NOT NULL,HOCKY SMALLINT,NAM SMALLINT,GV
VARCHAR(20),
CONSTRAINT P_KH PRIMARY KEY (MAKH),
CONSTRAINT F_KH FOREIGN KEY (MAMH) REFERENCES MONHOC(MAMH))
/*bang KETQUA */
CREATE TABLE KETQUA(MASV SMALLINT NOT NULL,MAKH SMALLINT NOT NULL,DIEM SMALLINT,
CONSTRAINT P_KQ PRIMARY KEY (MASV,MAKH),
CONSTRAINT F_KQ_SV FOREIGN KEY (MASV) REFERENCES SINHVIEN(MASV),
CONSTRAINT F_KQ_KH FOREIGN KEY (MAKH) REFERENCES KHOAHOC(MAKH))
VALUES ('MAI',10,1,'TOAN')
VALUES (119,'COSC1310',1,87,'AN')
INSERT INTO KHOAHOC(MAKH,MAMH,HOCKY,NAM,GV)
VALUES (135,'COSC3380',1,87,'SON')
/*cau 2*/
INSERT INTO SINHVIEN(TEN,MASV,NAM,KHOA)
VALUES ('NAM',25,2,'CNTT')
/*cau 3*/
INSERT INTO KETQUA(MASV,MAKH,DIEM)
VALUES (25,102,7)
INSERT INTO KETQUA(MASV,MAKH,DIEM)
VALUES (25,135,9)
exec sp_tables
select *
from sinhvien
select *
from khoahoc
/*cau4*/
4
/* cau 5 */
delete from KETQUA where (MASV=8 and MAKH=135 and DIEM=10)
/*cau 6*/
select TEN
from SINHVIEN
/*cau 7*/
select TENMH,TINCHI
from MONHOC
/* cau 8*/
select SINHVIEN.MASV,TEN,DIEM,TENMH,HOCKY
from SINHVIEN,KETQUA,MONHOC,KHOAHOC
where SINHVIEN.MASV=KETQUA.MASV and KETQUA.MASV=8 and KETQUA.MAKH=KHOAHOC.MAKH and
MONHOC.MAMH=KHOAHOC.MAMH
/*Cau 9 */
select MAMHTRUOC
from DIEUKIEN
where MAMH='COSC3320'
/* cau 10*/
select MAMH
from DIEUKIEN
where MAMHTRUOC='COSC3320'
/*cau 11*/
select SINHVIEN.MASV,TEN,TENMH,DIEM
from SINHVIEN,MONHOC,KETQUA,KHOAHOC
where SINHVIEN.MASV=KETQUA.MASV AND KHOAHOC.MAMH=MONHOC.MAMH AND KHOAHOC.MAKH=KETQUA.MAKH AND DIEM>7
5
/* cau 12*/
select SINHVIEN.MASV,SINHVIEN.KHOA,TENMH
from MONHOC,SINHVIEN where TENMH='TOAN ROI RAC'AND MONHOC.KHOA=SINHVIEN.KHOA
select *
from MONHOC
/*cau 13*/
select MAMH,TENMH
from MONHOC where MAMH IN (select MAMHTRUOC
from DIEUKIEN,MONHOC where MONHOC.MAMH=DIEUKIEN.MAMH AND TENMH='CO SO DU LIEU')
/*cau 14*/
select MAMH,TENMH
from MONHOC where MAMH IN (select DIEUKIEN.MAMH
from DIEUKIEN,MONHOC where MONHOC.MAMH=DIEUKIEN.MAMHTRUOC AND TENMH='CO SO DU LIEU')
/*cau 15*/
select SINHVIEN.MASV,TEN,avg(DIEM)as DIEMTB,HOCKY,KHOAHOC.NAM
from SINHVIEN,KETQUA,KHOAHOC
where SINHVIEN.MASV=KETQUA.MASV AND KHOAHOC.MAKH=KETQUA.MAKH
group by SINHVIEN.MASV,HOCKY,KHOAHOC.NAM,TEN
/*cau 16*/
select distinct TEN,DIEM
from SINHVIEN,KETQUA where SINHVIEN.MASV=KETQUA.MASV AND DIEM=(select MAX(DIEM )from KETQUA)
/*cau 17*/
INSERT INTO KHOAHOC(MAKH,MAMH,HOCKY,NAM,GV)
VALUES (140,'COSC3390',2,87,'MIN')
INSERT INTO KETQUA(MASV,MAKH,DIEM)
VALUES (8,135,6)
INSERT INTO KETQUA(MASV,MAKH,DIEM)
VALUES (8,140,7)
SELECT DISTINCT S.MASV ,TEN
6
/*cau 18*/
ALTER TABLE SINHVIEN ADD GIOITINH BIT
SELECT *
FROM SINHVIEN
/*cau 19*/
ALTER TABLE SINHVIEN ADD HOCBONG INT
SELECT *
FROM SINHVIEN
/*cau 20*/
DROP TABLE SINHVIEN
DROP TABLE MONHOC
DROP TABLE DIEUKIEN
DROP TABLE KHOAHOC
DROP TABLE KETQUA
/* NHAP DU LIEU*/
INSERT INTO NHANVIEN VALUES('123456789','DINH','BA','TIEN','09/01/75','120 TRAN HUNG DAO, Q1,TPHCM','NAM',30000,'333445555',5)
INSERT INTO NHANVIEN VALUES('333445555','NGUYEN','THANH','TUNG','08/12/45','12 NGUYEN VAN CU,Q
5,TPHCM','NAM',40000,'888665555',5)
INSERT INTO NHANVIEN VALUES('99988777','BUI','THUY','VU','19/07/58','60 NGUYEN TRAI,Q1,TPHCM','NAM',25000,'987654321',4)
INSERT INTO NHANVIEN VALUES('987654321','LE','THI','NHAN','20/06/31','203 HO VAN HUE,QPN.TPHCM','NU',43000,'888665555',4)
INSERT INTO NHANVIEN VALUES('666884444','NGUYEN','MANH','HUNG','15/09/52','45 LE LOI BA RIA VUNG TAU','NAM',38000,'333445555',5)
INSERT INTO NHANVIEN VALUES('453453453','TRAN','THANH','TAM','31/07/62','90 LE LOI Q1 TPHCM','NAM',25000,'33344555',5)
INSERT INTO NHANVIEN VALUES('987987987','TRAN','HONG','QUANG','29/03/59','21 LY THAI TO Q10 TPHCM','NAM',25000,'987654321',4)
INSERT INTO NHANVIEN VALUES('888665555','VUONG','NGOC','QUYEN','10/10/27','250 TRUNG VUONG, HA NOI','NU',55000,'NULL',1)
/* CAU1*/
10
/*CAU 2*/
CREATE VIEW NHANVIEN1
AS SELECT MANV,HONV+TENLOT+TENNV AS HOTEN,TENDA,THOIGIAN
FROM NHANVIEN NV,DEAN DA,PHANCONG PC
WHERE DA.MADA=PC.SODA AND NV.MANV=PC.MA_NVIEN
/*CAU 3*/
CREATE VIEW PHONGBAN1(TENPHG,SOLUONGNV,TONGLUONG)
AS SELECT TENPHG,COUNT(*),SUM(LUONG)
FROM NHANVIEN,PHONGBAN
WHERE NHANVIEN.PHG=PHONGBAN.MAPHG
GROUP BY PHG,TENPHG
/*CAU 4*/
CREATE VIEW BANGDEAN(TENDEAN,TENPHONG,SONV,TONGTG)
AS SELECT TENDA,TENPHG,COUNT (MA_NVIEN),SUM(THOIGIAN)
FROM PHONGBAN PB,DEAN DA,PHANCONG PC
WHERE DA.MADA=PC.SODA AND PB.MAPHG=DA.PHONG
GROUP BY TENDA,TENPHG
/*CAU 5*/
11
/*CAU6*/
SELECT HOTEN,TENPHG ,LUONG
FROM TENPHONG
WHERE TENPHG='NGHIEN CUU'OR TENPHG='QUAN LY' OR TENPHG='DIEU HANH'
/*CAU 7*/
SELECT HOTEN ,TENDA
FROM NHANVIEN1
WHERE TENDA='SAN PHAM X'
/*CAU 8*/
SELECT TENPHG,SOLUONGNV,TONGLUONG
FROM PHONGBAN1
WHERE TENPHG ='NGHIEN CUU'
/*CAU 9*/
SELECT TENDEAN,TENPHONG,SONV,TONGTG
FROM BANGDEAN2
WHERE TENDEAN='TIN HOC HOA'
/*CAU 2*/
SELECT MADA,PHONG,HONV+TENLOT+TENNV AS HOTEN,DCHI,NGSINH,DDIEM_DA
FROM NHANVIEN NV,DEAN DA,PHONGBAN PB,PHANCONG PC
WHERE DA.MADA=PC.SODA AND PC.MA_NVIEN=PB.TRPHG AND NV.MANV=PB.TRPHG AND DDIEM_DA='HA NOI'
/*CAU 3*/
SELECT DISTINCT MANV,HONV+TENLOT+TENNV AS HOTEN
FROM NHANVIEN NV,PHANCONG PC1
WHERE NV.MANV=PC1.MA_NV
AND NOT EXISTS (SELECT *
FROM DEAN DA
WHERE DA.PHONG=5 AND NOT EXISTS (SELECT *
FROM PHANCONG PC2
WHERE PC2.SODA=DA.MADA
/*CAU 6*/
SELECT *
FROM NHANVIEN
WHERE MANV NOT IN (SELECT MA_NVIEN
FROM THANNHAN)
/*CAU 7*/
SELECT HONV,TENLOT,TENNV
WHERE EXISTS(SELECT *
FROM PHONGBAN
WHERE MANV=TRPHG) AND EXISTS(SELECT *
13
FROM THANNHAN
WHERE MANV=MA_NVIEN)
/*CAU 8*/
/*CAU 10*/
SELECT HONV,TENLOT,TENNV
FROM NHANVIEN
WHERE MA_NQL IN (SELECT MANV
FROM NHANVIEN
WHERE HONV='NGUYEN' AND TENLOT='THANH' AND TENNV='TUNG'
AND PC2.MA_NVIEN=PC1.MA_NVIEN)
/*CAU 19*/
SELECT HONV+TENLOT+TENNV AS HOTEN,TENPHG
FROM NHANVIEN,PHONGBAN
WHERE MANV=TRPHG AND PHG IN (SELECT PHG
FROM NHANVIEN
GROUP BY PHG
HAVING COUNT (MANV)>= ALL (SELECT COUNT (MANV)
FROM NHANVIEN
GROUP BY PHG))
/*CAU20*/
SELECT TENPHG,COUNT(MANV),LUONG
/*CAU 21*/
SELECT MANV,HONV+TENLOT+TENNV AS HOTEN,NGSINH
FROM NHANVIEN
WHERE YEAR(GETDATE() - YEAR(NGSINH))>50