JavaScript is required

Khi chạy query sau thì kết quả sẽ là gì? Khi chạy query sau thì kết quả sẽ là gì? (ảnh 1)

A.
Xuất hiện các trường TENDV, DIACHI, TEL, Year, SOTIEN với điều kiện 100000>=SOTIEN>=20000
B.
Xuất hiện các trường TENDV, DIACHI, TEL, Year, SOTIEN với điều kiện 100000<=SOTIEN<=20000
C.
Xuất hiện các trường TENDV, DIACHI, TEL, Nam, SOTIEN với điều kiện 100000>=SOTIEN>=20000
D.
Xuất hiện các trường TENDV, DIACHI, TEL, Nam, SOTIEN với điều kiện 100000<=SOTIEN<=20000
Trả lời:

Đáp án đúng: C


Câu truy vấn SQL được đưa ra sử dụng hàm `IIF` để tạo ra một cột mới có tên là `Nam` (hoặc `Year` tùy theo đáp án) dựa trên điều kiện của `SOTIEN`. Điều kiện `SOTIEN BETWEEN 20000 AND 100000` kiểm tra xem `SOTIEN` có nằm trong khoảng từ 20000 đến 100000 hay không (bao gồm cả 20000 và 100000). Nếu điều kiện này đúng, cột mới sẽ có giá trị là `YEAR(GETDATE())`, tức là năm hiện tại. Như vậy, kết quả sẽ là các bản ghi với các trường `TENDV`, `DIACHI`, `TEL`, `Nam` (hoặc `Year`), và `SOTIEN`, chỉ chứa các bản ghi mà `SOTIEN` nằm trong khoảng từ 20000 đến 100000. * **Đáp án A** không chính xác vì điều kiện `100000>=SOTIEN>=20000` đúng, nhưng trường được tạo ra là `Year` chứ không phải `Nam`. * **Đáp án B** không chính xác vì điều kiện `100000<=SOTIEN<=20000` sai, điều kiện phải là `100000>=SOTIEN>=20000` và trường được tạo ra là `Year` chứ không phải `Nam`. * **Đáp án C** chính xác vì điều kiện `100000>=SOTIEN>=20000` đúng và trường được tạo ra là `Nam`. * **Đáp án D** không chính xác vì điều kiện `100000<=SOTIEN<=20000` sai, điều kiện phải là `100000>=SOTIEN>=20000`.

Câu hỏi liên quan