Professional Documents
Culture Documents
USE QUANLYSINHVIEN
GO
-- NHẬP LIỆU
INSERT INTO LOP VALUES ('10DHTH1',N'10 Đại học Tin học 1',50,null,'TH')
INSERT INTO LOP VALUES ('11DHTH2',N'11 Đại học Tin học 2',40,null,'TH')
INSERT INTO LOP VALUES ('12DHTP1',N'12 Đại học Thực phẩm 1',60,null,'TP')
INSERT INTO LOP VALUES ('10DHSH1',N'10 Đại học Sinh học 1',55,null,'SH')
INSERT INTO LOP VALUES ('12DHTC1',N'12 Đại học Tài chính 1',75,null,'TC')
SELECT * FROM LOP
SET DATEFORMAT DMY
INSERT INTO SINHVIEN VALUES ('SV001',N'Trần Lệ
Quyên','21/01/1995',N'Nữ',N'TPHCM','10DHTH1')
INSERT INTO SINHVIEN VALUES ('SV002',N'Nguyễn Thế Bình','04/06/1996',N'Nam',N'Tây
Ninh','11DHTH2')
INSERT INTO SINHVIEN VALUES ('SV003',N'Tô Ánh Nguyệt','02/05/1995',N'Nữ',N'Vũng
Tàu','12DHTP1')
INSERT INTO SINHVIEN VALUES ('SV004',N'Nguyễn Thế Anh','15/12/1996',N'Nam',N'Đồng
Nai','12DHTP1')
INSERT INTO SINHVIEN VALUES ('SV005',N'Lê Thanh Bình','09/12/1994',N'Nam',N'Long
An','10DHTH1')
INSERT INTO SINHVIEN VALUES ('SV006',N'Phạm Quang Hậu','12/10/1995',N'Nam',N'Tây
Ninh','10DHTH1')
INSERT INTO SINHVIEN VALUES ('SV007',N'Lê Cẩm Tú','13/02/1989',N'Nữ',N'Bình
Thuận','12DHTP1')
INSERT INTO SINHVIEN VALUES ('SV008',N'Trương Thế Sang','04/04/1993',N'Nam',N'Bình
Dương','10DHSH1')
INSERT INTO SINHVIEN VALUES ('SV009',N'Đậu Quang Ánh','03/12/1994',N'Nam',N'Long
An','12DHTC1')
INSERT INTO SINHVIEN VALUES ('SV010',N'Huỳnh Kim
Chi','18/10/1996',N'Nữ',N'TPHCM','11DHTH2')
INSERT INTO SINHVIEN VALUES ('SV011',N'Trịnh Đình Ánh','15/11/1995',N'Nam',N'Bình
Thuận','10DHTH1')
SELECT * FROM SINHVIEN
--CAU2
UPDATE SINHVIEN
SET DCHI=N'CẦN THƠ' WHERE MASV='SV002'
SELECT *FROM SINHVIEN
GO
--CAU3
CREATE VIEW V_SINHVIEN
AS
SELECT SV.MASV, SV.HOTEN
FROM SINHVIEN SV
GO
SELECT *FROM V_SINHVIEN
--CAU4
SELECT MASV,HOTEN
FROM SINHVIEN
WHERE SINHVIEN.DCHI=N'Vũng Tàu'
--CAU5
SELECT SOTC
FROM MONHOC
WHERE MONHOC.TENMH=N'Toán rời rạc'
--CAU6
SELECT TENLOP
FROM LOP L,KHOA KH
WHERE L.MAKH=KH.MAKH AND KH.TENKH=N'Công nghệ thông tin'
--CAU7
SELECT * FROM SINHVIEN WHERE GTINH = N'Nam' AND HOTEN LIKE N'Nguyễn%';
--CAU8 CHO BIẾT HT NS DC CỦA NHỮNG SINH VIÊN NAM HỌC LỚP 10DHTH01
SELECT HOTEN,NGSINH,DCHI
FROM SINHVIEN SV
WHERE SV.GTINH=N'Nam' AND SV.MALOP='10DHTH1'
--CAU9 CHO BIẾT TÊN NHỮNG MÔN HỌC CÓ 1 HOẶC 2 TÍN CHỈ
SELECT TENMH
FROM MONHOC MH
WHERE MH.SOTC=1 OR MH.SOTC=2
--CAU12
SELECT HOTEN
FROM SINHVIEN SV,LOP L,DIEM D
WHERE SV.MALOP=L.MALOP AND SV.MASV=D.MASV AND L.MALOP=N'10DHTH1' AND D.DIEMTHI
BETWEEN 6 AND 8
--CAU11
SELECT HOTEN
FROM SINHVIEN SV
WHERE SV.GTINH=N'NỮ' AND SV.DCHI=N'TP.HCM' OR SV.DCHI=N'VŨNG TÀU'
--CAU13
SELECT HOTEN
FROM SINHVIEN SV,DIEM D,KHOA KH,LOP L
WHERE SV.MALOP=L.MALOP AND KH.MAKH=L.MAKH AND SV.MASV=D.MASV AND
L.MALOP=N'10DHTH1' AND D.MAMH=N'CSDL' AND D.DIEMTHI>5
--CAU14
SELECT TENKH, COUNT(LOP.MALOP) AS SO_LUONG_LOP
FROM KHOA
JOIN LOP ON KHOA.MAKH = LOP.MAKH
GROUP BY TENKH
--CAU15
SELECT TENLOP, COUNT(SINHVIEN.MALOP) AS SO_LUONG_SV
FROM LOP
JOIN SINHVIEN ON LOP.MALOP=SINHVIEN.MALOP
GROUP BY TENLOP
--CAU16
--SELECT KHOA.TENKH, COUNT(SINHVIEN.MASV) AS SO_LUONG_SV
--FROM SINHVIEN,LOP
--INNER JOIN KHOA ON WHERE SINHVIEN.MALOP =LOP.MALOP AND KHOA.MAKH = LOP.MAKH
--CAU17
SELECT SV.MASV,HOTEN,DIEMTHI
FROM SINHVIEN SV,DIEM D
WHERE SV.MASV=D.MASV
--CAU18
SELECT HOTEN, COUNT(*) as TONG_SO_MH
FROM SINHVIEN
WHERE GTINH = N'Nam'
GROUP BY HOTEN
--CAU19
SELECT KHOA.TENKH
FROM LOP ,KHOA
GROUP BY KHOA.TENKH
HAVING COUNT(LOP.MALOP) >= 2
--CAU20
SELECT LOP.TENLOP
FROM LOP ,SINHVIEN
GROUP BY LOP.TENLOP
HAVING COUNT(SINHVIEN.MASV) >= 2
--CAU21
SELECT TENKH
FROM KHOA, SINHVIEN
GROUP BY TENKH
HAVING COUNT(SINHVIEN.MASV) < 500
--CAU22
SELECT TENMH
FROM MONHOC
WHERE SOTC > 1
AND MAMH IN (
SELECT MAMH
FROM DIEM
GROUP BY MAMH
HAVING COUNT(MASV) >= 2
)
--CAU23
SELECT TENMH, SOTC
FROM MONHOC
WHERE SOTC = (SELECT MAX(SOTC) FROM MONHOC)
--CAU24
SELECT HOTEN, GTINH
FROM SINHVIEN
UNION
SELECT HOTEN,GIOITINH
FROM THANNHAN
--CAU25
SELECT sv.*
FROM SINHVIEN SV
INNER JOIN LOP ON SV.MALOP = LOP.MALOP
WHERE LOP.TENLOP = N'12 Đại học Thực phẩm 1' OR (LOP.MALOP = '12DHTP1')
--CAU26
SELECT SV.*
FROM SINHVIEN SV
LEFT JOIN DIEM ON SV.MASV = DIEM.MASV
WHERE DIEM.MASV IS NULL;
--CAU27
SELECT SV.HOTEN, MONHOC.TENMH, DIEM.MASV
FROM SINHVIEN SV
RIGHT JOIN DIEM ON SV.MASV = DIEM.MASV
RIGHT JOIN MONHOC ON DIEM.MAMH = MONHOC.MAMH
WHERE DIEM.DIEMTHI IS NOT NULL
ORDER BY SV.HOTEN, MONHOC.MAMH;