Câu lệnh SQL nào sử dụng để tìm tên của tất cả các sinh viên đạt tổng điểm 2 bài kiểm tra cao hơn 180?
A.
SELECT TEN_SV, HO_SV, SUM(DIEM_KT) FROM KETQUA_KIEMTRA GROUP BY TEN_SV, HO_SV;
B.
SELECT TEN_SV, HO_SV, SUM(DIEM_KT) FROM KETQUA_KIEMTRA HAVING SUM(DIEM_KT) > 180;
C.
SELECT TEN_SV, HO_SV, SUM(DIEM_KT) FROM KETQUA_KIEMTRA GROUP BY TEN_SV, HO_SV HAVING SUM(DIEM_KT) > 180;
D.
SELECT TEN_SV, HO_SV, SUM(DIEM_KT) FROM KETQUA_KIEMTRA WHERE DIEM_KT > 180 GROUP BY TEN_SV, HO_SV;
Trả lời:
Đáp án đúng: C
Câu hỏi yêu cầu tìm câu lệnh SQL để liệt kê tên sinh viên và tổng điểm (từ bảng KETQUA_KIEMTRA) với điều kiện tổng điểm này phải lớn hơn 180.
* **Phương án A:** Câu lệnh này chỉ tính tổng điểm theo tên và họ sinh viên mà không lọc theo điều kiện nào.
* **Phương án B:** Câu lệnh này thiếu mệnh đề GROUP BY, cần thiết để tính tổng điểm theo từng sinh viên trước khi lọc.
* **Phương án C:** Đây là câu lệnh đúng. Nó sử dụng `GROUP BY` để nhóm các kết quả theo tên và họ sinh viên, sau đó dùng `HAVING` để lọc ra các nhóm có tổng điểm lớn hơn 180.
* **Phương án D:** Câu lệnh này lọc các bản ghi có `DIEM_KT > 180` trước khi nhóm, dẫn đến tổng điểm không chính xác vì nó không tính tổng điểm của tất cả các bài kiểm tra của sinh viên.
Vậy, đáp án đúng là C.
Tổng hợp câu hỏi trắc nghiệm lập trình cơ sở dữ liệu SQL có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.
50 câu hỏi 60 phút
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
