Untitled

 avatar
unknown
sql
6 months ago
3.0 kB
6
Indexable
-- Câu 1: Sửa số tiết của môn "Tri Tue Nhan Tao" lại 50 tiết
UPDATE MONHOC
SET SOTIET = 50
WHERE TENMH = N'Tri Tue Nhan Tao';

-- Câu 2: Xóa kết quả của sinh viên có mã sinh viên S001
DELETE FROM KETQUA
WHERE MASV = 'S001';

-- Câu 3: Chèn lại các bộ của sinh viên S001 vừa xóa
-- (Giả định dữ liệu cần chèn lại được lưu trước đó)
INSERT INTO KETQUA (MASV, MAMH, LANTHI, DIEM)
VALUES ('S001', 'CSDL', 1, 4),
       ('S001', 'TCC', 1, 6);

-- Câu 4: Sửa sinh viên 'Nguyen Thi Lam' thành 'Nguyen Thanh Son' và phái thành 'Nam'
UPDATE SINHVIEN
SET HOSV = N'Nguyen Thanh', TENSV = N'Son', PHAI = N'Nam'
WHERE HOSV = N'Nguyen Thi' AND TENSV = N'Lam';

-- Câu 5: Chuyển sinh viên 'Le Thi Lan Anh' sang khoa CNTT
UPDATE SINHVIEN
SET MAKHOA = (SELECT MAKHOA FROM KHOA WHERE TENKHOA = N'Cong Nghe Thong Tin')
WHERE HOSV = N'Le Thi Lan' AND TENSV = N'Anh';

-- Câu 6: Cho biết kết quả học tập của sinh viên có mã $007
SELECT *
FROM KETQUA
WHERE MASV = '$007';

-- Câu 7: Liệt kê những sinh viên sinh vào ngày 03 tháng 07
SELECT *
FROM SINHVIEN
WHERE DAY(NGAYSINH) = 3 AND MONTH(NGAYSINH) = 7;

-- Câu 8: Cho biết danh sách các sinh viên có họ chứa chữ Anh
SELECT *
FROM SINHVIEN
WHERE HOSV LIKE N'%Anh%';

-- Câu 9: Liệt kê những sinh viên có tuổi từ 22 trở lên của khoa 'Cong Nghe Thong Tin' và khoa 'Dien Tu Vien Thong'
SELECT *
FROM SINHVIEN
WHERE DATEDIFF(YEAR, NGAYSINH, GETDATE()) >= 22
  AND MAKHOA IN (SELECT MAKHOA FROM KHOA WHERE TENKHOA IN (N'Cong Nghe Thong Tin', N'Dien Tu Vien Thong'));

-- Câu 10: Cho biết tên khoa nào không có Sinh viên
SELECT TENKHOA
FROM KHOA
WHERE MAKHOA NOT IN (SELECT DISTINCT MAKHOA FROM SINHVIEN);

-- Câu 11: Liệt kê danh sách sinh viên chưa học môn nào
SELECT HOSV, TENSV, NGAYSINH, TENKHOA
FROM SINHVIEN S
JOIN KHOA K ON S.MAKHOA = K.MAKHOA
WHERE MASV NOT IN (SELECT DISTINCT MASV FROM KETQUA);

-- Câu 12: Cho biết danh sách những sinh viên đã học môn có mã môn học là AV, sắp giảm dần theo ngày sinh
SELECT S.MASV, HOSV, TENSV, NGAYSINH, TENKHOA
FROM SINHVIEN S
JOIN KHOA K ON S.MAKHOA = K.MAKHOA
JOIN KETQUA Q ON S.MASV = Q.MASV
WHERE Q.MAMH = 'AV'
ORDER BY NGAYSINH DESC;

-- Câu 13: Cho biết tên sinh viên có điểm cao nhất
SELECT TOP 1 S.HOSV, S.TENSV, Q.DIEM
FROM SINHVIEN S
JOIN KETQUA Q ON S.MASV = Q.MASV
ORDER BY Q.DIEM DESC;

-- Câu 14: Cho biết sinh viên nào rớt môn CSDL ở lần thi thứ nhất
SELECT S.HOSV, S.TENSV
FROM SINHVIEN S
JOIN KETQUA Q ON S.MASV = Q.MASV
WHERE Q.MAMH = 'CSDL' AND Q.LANTHI = 1 AND Q.DIEM < 5;

-- Câu 15: Cho biết sinh viên nào rớt môn CSDL ở lần thi thứ nhất mà chưa thi lại lần 2
SELECT S.HOSV, S.TENSV
FROM SINHVIEN S
JOIN KETQUA Q ON S.MASV = Q.MASV
WHERE Q.MAMH = 'CSDL' AND Q.LANTHI = 1 AND Q.DIEM < 5
  AND NOT EXISTS (
    SELECT 1
    FROM KETQUA Q2
    WHERE Q2.MASV = Q.MASV AND Q2.MAMH = Q.MAMH AND Q2.LANTHI = 2
);
Editor is loading...
Leave a Comment