JavaScript is required

Cơ sở dữ liệu ‘QuanLyCuaHang’có bảng: DmHangHoa(DmHangHoaID Nvarchar(50), TenHang Nvarchar(200), DmNhaSanXuatREF Nvarchar(50), DonViTinh Nvarchar(50)). Cho biết tổng số lượng các mặt hàng?

A.

SELECT count() as SoLuongMatHang FROM DmHangHoa GROUP BY DmHangHoaID

B.

SELECT count() as SoLuongMatHang FROM DmHangHoa

C.

SELECT count() as SoLuongMatHang FROM DmHangHoa WHERE DmHangHoaID

D.

SELECT sum() SoLuongMatHang FROM DmHangHoa

Trả lời:

Đáp án đúng: B


Câu hỏi yêu cầu tìm tổng số lượng các mặt hàng trong bảng DmHangHoa. Phương án A: `SELECT count() as SoLuongMatHang FROM DmHangHoa GROUP BY DmHangHoaID` Câu lệnh này sẽ đếm số lượng mặt hàng theo từng DmHangHoaID riêng biệt, tức là đếm số lượng bản ghi cho mỗi ID. Điều này không cho biết tổng số lượng mặt hàng mà chỉ cho biết số lượng mặt hàng cho mỗi ID khác nhau. Phương án B: `SELECT count() as SoLuongMatHang FROM DmHangHoa` Câu lệnh này sử dụng hàm `count()` để đếm tổng số bản ghi trong bảng `DmHangHoa`. Đây chính là tổng số lượng các mặt hàng. Phương án C: `SELECT count() as SoLuongMatHang FROM DmHangHoa WHERE DmHangHoaID` Câu lệnh này sẽ đếm số lượng mặt hàng trong bảng `DmHangHoa` nhưng chỉ khi có `DmHangHoaID`. Điều kiện `WHERE DmHangHoaID` không đầy đủ, cần có thêm toán tử so sánh, nhưng về cơ bản nếu có thêm điều kiện so sánh thì nó sẽ lọc ra các bản ghi thỏa mãn điều kiện trước khi đếm, không phải là tổng số lượng mặt hàng. Phương án D: `SELECT sum() SoLuongMatHang FROM DmHangHoa` Hàm `sum()` được sử dụng để tính tổng của một cột số. Tuy nhiên, câu hỏi yêu cầu đếm số lượng mặt hàng, không phải tính tổng giá trị của một cột nào đó. Ngoài ra, `sum()` cần một cột số làm đối số, nếu không sẽ báo lỗi. Vậy, phương án B là đáp án đúng nhất.

Câu hỏi liên quan