JavaScript is required

Giả sử có Table Sinhvien(Masv, Hosv, Tensv, Ngaysinh, Phai). Trong đó Ngaysinh(D,Short date) và PHAI(Yes/no). Để hiển thị danh sách sinh viên gồm : Masv; Hosv; Tensv; Namsinh; Tuoi (Tuoi : Năm hiện tại – năm sinh) ta thực hiện câu truy vấn

A.
Select Masv, Hosv, Tensv, Namsinh, Tuoi From Sinhvien Where Tuoi=Year(Date())-Year([Namsinh]);
B.
Select Masv, Hosv, Tensv, Namsinh, Year(Date())-Year([Namsinh]) As Tuoi From Sinhvien
C.
Select Masv, Hosv, Tensv, Namsinh, Tuoi From Sinhvien Where Tuoi:Year(Date())-Year([Namsinh]);
D.
Select Masv, Hosv, Tensv, Namsinh, Tuoi As Year(Date())-Year([Namsinh]) AS From Sinhvien
Trả lời:

Đáp án đúng: B


Câu hỏi yêu cầu hiển thị danh sách sinh viên cùng với tuổi của họ, được tính bằng năm hiện tại trừ đi năm sinh. * **Phương án A:** Sai vì sử dụng mệnh đề `WHERE` để gán giá trị cho cột `Tuoi`. Mệnh đề `WHERE` dùng để lọc dữ liệu, không dùng để tính toán và gán giá trị. * **Phương án B:** Đúng. Sử dụng hàm `Year(Date())` để lấy năm hiện tại và hàm `Year([Namsinh])` để lấy năm sinh, sau đó trừ hai giá trị này để tính tuổi. `As Tuoi` được sử dụng để đặt tên cho cột kết quả là `Tuoi`. * **Phương án C:** Sai vì sử dụng toán tử `:` không hợp lệ trong mệnh đề `WHERE`. Toán tử này không được sử dụng để gán giá trị hoặc so sánh trong SQL. * **Phương án D:** Sai vì cú pháp `Tuoi As Year(Date())-Year([Namsinh]) AS` không hợp lệ. Cú pháp đúng phải là `Year(Date())-Year([Namsinh]) As Tuoi`. Vậy, phương án B là phương án đúng nhất.

Câu hỏi liên quan