JavaScript is required

Câu lệnh SQL nào cho phép bạn liệt kê tất cả các cửa hàng có tổng doanh số trên 5000?

A.

SELECT ID_CUAHANG, SUM(DOANH_THU) FROM BANHANG GROUP BY ID_CUAHANG HAVING SUM(DOANH_THU) > 5000;

B.

SELECT ID_CUAHANG, SUM(DOANH_THU) FROM BANHANG GROUP BY ID_CUAHANG HAVING DOANH_THU > 5000;

C.

SELECT ID_CUAHANG, SUM(DOANH_THU) FROM BANHANG WHERE SUM(DOANH_THU) > 5000 GROUP BY ID_CUAHANG;

D.

SELECT ID_CUAHANG, SUM(DOANH_THU) FROM BANHANG WHERE DOANH_THU > 5000 GROUP BY ID_CUAHANG;

Trả lời:

Đáp án đúng: A


Câu hỏi yêu cầu liệt kê các cửa hàng có tổng doanh thu lớn hơn 5000. * **Phương án 1 (Đúng):** Sử dụng `GROUP BY ID_CUAHANG` để nhóm các bản ghi theo ID cửa hàng, sau đó sử dụng `SUM(DOANH_THU)` để tính tổng doanh thu cho mỗi cửa hàng. Điều kiện `HAVING SUM(DOANH_THU) > 5000` lọc ra các cửa hàng có tổng doanh thu lớn hơn 5000. * **Phương án 2 (Sai):** Sử dụng `HAVING DOANH_THU > 5000` là sai vì `HAVING` phải được sử dụng với các hàm tổng hợp như `SUM`, `AVG`, `COUNT`,... Nó không thể được sử dụng trực tiếp với cột `DOANH_THU` sau khi đã nhóm. * **Phương án 3 (Sai):** Sử dụng `WHERE SUM(DOANH_THU) > 5000` là sai vì `WHERE` không thể sử dụng với các hàm tổng hợp. `WHERE` được sử dụng để lọc các bản ghi trước khi nhóm, trong khi `HAVING` được sử dụng để lọc các nhóm sau khi đã nhóm. * **Phương án 4 (Sai):** Sử dụng `WHERE DOANH_THU > 5000` sẽ lọc các bản ghi có doanh thu lớn hơn 5000 trước khi nhóm, điều này không đáp ứng yêu cầu của câu hỏi là tổng doanh thu của cửa hàng phải lớn hơn 5000.

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