Câu 10

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Câu 10->23 thực hành cho cơ sở dữ liệu

Quản lý điểm
10.Hiển thị masv, hodem, ten, diem của 2 sinh viên có điểm thi lần 1 học phần
có tên là HQTCSDL SQL Server cao điểm nhất:
SELECT TOP 2 masv, hodem, ten, diem
FROM KETQUA
JOIN SINHVIEN ON KETQUA.masv = SINHVIEN.masv
JOIN HOCPHAN ON KETQUA.mahp = HOCPHAN.mahp
WHERE tenhocphan = 'HQTCSDL SQL Server'
ORDER BY diem DESC;

11.Hiển thị masv, hodem, ten, diem của sinh viên có điểm thi lần 1 học phần có
tên là Tin học văn phòng từ 5 đến 7 điểm:
SELECT masv, hodem, ten, diem
FROM KETQUA
JOIN SINHVIEN ON KETQUA.masv = SINHVIEN.masv
JOIN HOCPHAN ON KETQUA.mahp = HOCPHAN.mahp
WHERE tenhocphan = 'Tin học văn phòng' AND lanthi = 1 AND diem BETWEEN 5 AND 7;

12.Hiển thị masv, hodem, ten, diem, tenlop của sinh viên có điểm thi lần 1 học
phần có tên là Tin học Đại cương có điểm là 4 hoặc 6 hoặc 8:
SELECT SINHVIEN.masv, hodem, ten, diem, tenlop
FROM KETQUA
JOIN SINHVIEN ON KETQUA.masv = SINHVIEN.masv
JOIN HOCPHAN ON KETQUA.mahp = HOCPHAN.mahp
JOIN LOP ON SINHVIEN.malop = LOP.malop
WHERE tenhocphan = 'Tin học Đại cương' AND lanthi = 1 AND diem IN (4, 6, 8);

13.Cho biết masv, hodem, ten của các sinh viên nữ có họ là Ngô và có kết quả
trả về sắp xếp giảm dần theo tên:
SELECT masv, hodem, ten
FROM SINHVIEN
WHERE hodem LIKE 'Ngô%' AND gioitinh = N'Nữ'
ORDER BY ten DESC;

14.Hiển thị những sinh viên khóa 1 có điểm thi lần 1 từ 8 đến 9 gồm các thông
tin sau: masv, hodem, ten, tenlop, tenmonhoc, diem, tenkhoa:
SELECT SINHVIEN.masv, hodem, ten, tenlop, tenhocphan, diem, tenkhoa
FROM KETQUA
JOIN SINHVIEN ON KETQUA.masv = SINHVIEN.masv
JOIN HOCPHAN ON KETQUA.mahp = HOCPHAN.mahp
JOIN LOP ON SINHVIEN.malop = LOP.malop
JOIN KHOA ON LOP.makhoa = KHOA.makhoa
WHERE khoahoc = 1 AND lanthi = 1 AND diem BETWEEN 8 AND 9;

15.Tạo bảng lưu thông tin về kết quả thi học phần Tin học Đại cương của lớp Dữ
liệu 1 gồm các thông tin sau: masv, hodem, ten, ngaysinh, lanthi, diem:
CREATE TABLE KetQuaTinHocDaiCuongDL1 AS
SELECT SINHVIEN.masv, hodem, ten, ngaysinh, lanthi, diem
FROM KETQUA
JOIN SINHVIEN ON KETQUA.masv = SINHVIEN.masv
JOIN HOCPHAN ON KETQUA.mahp = HOCPHAN.mahp
JOIN LOP ON SINHVIEN.malop = LOP.malop
WHERE tenhocphan = 'Tin học Đại cương' AND tenlop = 'Dữ liệu 1';

16.Hiển thị Makhoa, tenkhoa không quản lý lớp:


SELECT MAKHOA, TENKHOA
FROM KHOA
WHERE MAKHOA NOT IN (SELECT DISTINCT MAKHOA FROM LOP);

17.Hiển thị tên lớp, tên khoa có từ 3 sinh viên thi lại trở lên:
SELECT TENLOP, TENKHOA
FROM LOP
JOIN KHOA ON LOP.MAKHOA = KHOA.MAKHOA
GROUP BY TENLOP, TENKHOA
HAVING COUNT(*) >= 3;

18.Hiển thị masv, hodem, ten, ngaysinh, trung bình điểm thi lần 1 của sinh viên:
SELECT SINHVIEN.masv, hodem, ten, ngaysinh, AVG(diem) AS [Trung bình điểm]
FROM KETQUA
JOIN SINHVIEN ON KETQUA.masv = SINHVIEN.masv
WHERE lanthi = 1
GROUP BY SINHVIEN.masv, hodem, ten, ngaysinh;

19.Hiển thị hodem, ten, malop của những sinh viên thi lại cả hai học phần có mã
là tvp và sql:
SELECT hodem, ten, malop
FROM SINHVIEN
WHERE masv IN (
SELECT masv
FROM KETQUA
WHERE mahp IN ('tvp', 'sql')
GROUP BY masv
HAVING COUNT(*) = 2
);

20.Hiển thị tenhocphan, tổng số lượng sinh viên thi lần 1 theo từng học phần:
SELECT tenhocphan, COUNT(*) AS [Tổng số lượng sinh viên]
FROM KETQUA
JOIN HOCPHAN ON KETQUA.mahp = HOCPHAN.mahp
WHERE lanthi = 1
GROUP BY tenhocphan;

21.Hiển thị masv, hodem, ten, và trung bình điểm thi lần 1 theo từng sinh viên:
SELECT KETQUA.masv, hodem, ten, AVG(diem) AS [Trung bình điểm]
FROM KETQUA
JOIN SINHVIEN ON KETQUA.mas

22.Hiển thị malop, tên lớp và số lượng sinh viên theo từng lớp:
SELECT malop, tenlop, COUNT(masv) AS [Số lượng sinh viên]
FROM SINHVIEN
GROUP BY malop, tenlop;

23.Hiển thị masv, họ và tên, số lần thi lần 1 của từng sinh viên:
SELECT masv, hodem, ten, COUNT(*) AS [Số lần thi lần 1]
FROM KETQUA
JOIN SINHVIEN ON KETQUA.masv = SINHVIEN.masv
WHERE lanthi = 1
GROUP BY masv, hodem, ten;

You might also like