Professional Documents
Culture Documents
ASSIGNMENT GD2 - TRẦN VĂN NHÂN - PD10413
ASSIGNMENT GD2 - TRẦN VĂN NHÂN - PD10413
Loaisach ( Ma_loai,Ten_loai)
Thesv ( Masv,Tensv,Ngay_het_hang,Chuyen_nganh,Email,SDT,Ma_lop)
--6.2
SELECT ma_phieu_muon, ma_sach, ngay_muon, ma_sinh_vien
FROM phieu_muon
WHERE MONTH(ngay_muon) = 1 AND YEAR(ngay_muon) = 2017;
--6.3
SELECT *
FROM phieu_muon
WHERE ngay_tra IS NULL
ORDER BY ngay_muon;
--6.4
SELECT ls.ma_loai_sach, ls.ten_loai_sach, COUNT(ds.ma_sach) AS tong_so_luong
FROM loai_sach ls
JOIN dau_sach ds ON ls.ma_loai_sach = ds.ma_loai_sach
GROUP BY ls.ma_loai_sach, ls.ten_loai_sach;
--6.5
SELECT *
FROM dau_sach
WHERE tieu_de LIKE '%SQL%';
--6.6
SELECT *
FROM dau_sach
WHERE tieu_de LIKE '%SQL%';
--6.7
SELECT pm.ma_sinh_vien, sv.ten_sinh_vien, pm.ma_phieu_muon, ds.ten_sach, pm.ngay_muon,
pm.ngay_tra
FROM phieu_muon pm
JOIN sinh_vien sv ON pm.ma_sinh_vien = sv.ma_sinh_vien
JOIN dau_sach ds ON pm.ma_sach = ds.ma_sach
ORDER BY pm.ngay_muon;
--6.8
SELECT ds.ma_sach, ds.ten_sach, COUNT(pm.ma_phieu_muon) AS so_lan_muon
FROM dau_sach ds
JOIN phieu_muon pm ON ds.ma_sach = pm.ma_sach
GROUP BY ds.ma_sach, ds.ten_sach
HAVING COUNT(pm.ma_phieu_muon) > 20;
--6.9
UPDATE dau_sach
SET gia_tien = gia_tien * 0.7
WHERE YEAR(ngay_nhap_kho) < 2014;
--6.10
UPDATE phieu_muon
SET trang_thai = 'Da tra'
WHERE ma_sinh_vien = 'PD12301';
--6.11
SELECT pm.ma_phieu_muon, sv.ten_sinh_vien, sv.email, GROUP_CONCAT(ds.ten_sach) AS
sach_muon, pm.ngay_muon
FROM phieu_muon pm
JOIN sinh_vien sv ON pm.ma_sinh_vien = sv.ma_sinh_vien
JOIN dau_sach ds ON pm.ma_sach = ds.ma_sach
WHERE pm.ngay_tra < CURDATE()
GROUP BY pm.ma_phieu_muon, sv.ten_sinh_vien, sv.email, pm.ngay_muon;
--6.12
UPDATE dau_sach
SET so_luong_ban_sao = so_luong_ban_sao + 5
WHERE ma_sach IN (
SELECT ds.ma_sach
FROM dau_sach ds
JOIN phieu_muon pm ON ds.ma_sach = pm.ma_sach
GROUP BY ds.ma_sach
HAVING COUNT(pm.ma_phieu_muon) > 10
);
--6.13
DELETE FROM phieu_muon
WHERE ngay_muon < '2010-01-01' AND (ngay_tra IS NULL OR ngay_tra < '2010-01-01');