BÀI Cho cơ sở dữ liệu gồm các quan hệ sau :
SV(MSV,HOTEN,GT,NS,QUE,LOP)
MH(MAMON,TENMON,DVHT,HOCKY)
HT(MSV,MAMON,DIEM)
* Phần sql
A . Cho biết mã so ,họ tên ,ngày sinh của các sinh viên nữ lớp toán tin k46 danh
sách xắp xếp theo chiều giảm của ngày sinh :
SELECT sv.msv, sv.hoten, sv.ns
FROM sv INNER JOIN (mh INNER JOIN ht ON mh.mamon = ht.mamon) ON
sv.msv = ht.msv
GROUP BY sv.msv, sv.hoten, sv.ns, sv.lop, sv.gt
HAVING (((sv.lop)="k46") AND ((sv.gt)="nu"))
ORDER BY sv.ns DESC;
B . cho biết điểm csdl của sinh viên “nguyễn mai hoa “ lớp toán tin k46:
SELECT ht.diem, sv.msv
FROM sv INNER JOIN ht ON sv.msv = ht.msv
WHERE (((sv.hoten)="nguyen mai hoa") AND ((sv.lop)="k46"));
C . cho biết mã số và họ tên của những sinh viên lớp toán tin k46 có ít nhất một
điểm nhỏ hơn <5
SELECT sv.msv, sv.hoten, ht.msv, ht.diem
FROM sv INNER JOIN ht ON sv.msv = ht.msv
WHERE (((ht.diem)<5) AND ((sv.lop)="k46"));
D . cho biết mã số họ và tên của những sinh viên lớp toán tin k46 không có điểm
nào <5
SELECT sv.msv, sv.hoten, sv.lop, ht.diem
FROM sv INNER JOIN ht ON sv.msv=ht.msv
WHERE (((sv.lop)="k46") AND ((sv.msv) Not In (select ht.msv from ht where
diem<5)));
E . cho biết tổng số sinh vien lớp k46
SELECT Count(msv) AS sosv
FROM sv
(HOCKY=6 and lop=k46 and hoten=”nguyen mai hoa”)
(sv*mh*ht)
D . Cho biết mã số và tên những môn học mà có ít nhất 1 sinh viên đạt đ 8
∏
MSV
(SV*HT σ
DIEM>=8
(HT))
E . Cho biết mã số và tên những môn học mà không có sinh viên nào đạt điểm 8
∏
MAMON,TENMON
(σ
(DIEM#8)
(MONHOC*HT)
F . Cho biết mã số và tên những sinh viên đạt điểm >=7 ở tất cả các môn trong học
lỳ 6
∏
(MSV,HOTEN)
(
σ
(DIEM>=7 AND HOCKY=6)
)(SV*HT*MH)
BÀI
Cho CSDL gồm các quan hệ
Sinh viên(MASV,HOTEN,NGAYSINH,QUEQUAN)
Môn học(MAMH,TENMH,MAGV);
Giảng viên(MAGV;HOTEN,DIACHI,DT)
Đăng kí(MAMH,MASV,KYHOC,DIEM)
* Phần sql
(MASV,MAMH,KYHOC),
constraint FK_DANGKY_MASV foreign key (MASV) references
SINHVIEN(MASV),
constraint FK_DANGKY_MAMH foreign key (MAMH) references
MONHOC(MAMH) )
(B1):
SELECT giangvien.magv, giangvien.hoten, monhoc.mamh, dangky.masv
FROM (giangvien INNER JOIN monhoc ON giangvien.magv = monhoc.magv)
INNER JOIN dangky ON monhoc.mamh = dangky.mamh
WHERE (((giangvien.hoten)="le tuan quang"));
(B2):
SELECT masv, hoten
FROM sinhvien
WHERE masv not in (select masv from dangky);
(C1):
UPDATE DANGKY SET DIEM = 5
WHERE DIEM=4 AND MAMH="MH1";
RELATIONSHIP
* Phần đại số quan hệ
BÀI (B):
Những sinh viên nào học các môn do giảng viên “Lê Tuấn Quang” dạy.
+ ∏
(MASV,TENGV)
σ
(TENGV=”LE TUAN QUANG”)
(Giangvien*dangky)
Chỉ ra tên của tất cả các sinh viên không đăng ký học môn nào
+ ∏
MSV
(SINHVIEN) - ∏
σ
(ngansach>=10 and ngansach< 25)
(DUAN)
B . cho biết những nhân viên đã làm cho dự án có tên là vinaco
+∏
(MANV,HOTEN,NGAYSINH)
σ
(TENDA=”VINACO”)
(LAMVIEC*DUAN*NHANVIEN)
C . cho biết nhũng nhân viên không tham gia vào dự án nào
∏
(MANV)
(LAMVIEC) – ∏
(MANV)
(DUAN*LAMVIEC)
D . đưa ra tổng số giờ làm việc của các nhan viên NGYÊN VĂN A tham gia
các dự án
∏
(MANV,TONGSOGIOLAMVIEC)
σ
(HOTEN =”NGUYỄN VĂN A”)
(NHANVIEN*LAMVIEC)