Cho lược đồ quan hệ SINHVIEN(masv,hoten,ngaysinh,quequan), câu lệnh truy vấn nào đưa ra tất cả các sinh viên có tên là Hằng?
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ất cả sinh viên có tên là "Hằng" từ bảng SINHVIEN.
* **Phương án A:** `SELECT * FROM SinhVien WHERE Ten = [Hằng]`
- Sai. Cú pháp `[Hằng]` không đúng để so sánh chuỗi trong SQL. Dấu ngoặc vuông thường được sử dụng cho các đối tượng database (ví dụ: tên bảng, tên cột) khi chúng chứa khoảng trắng hoặc ký tự đặc biệt.
* **Phương án B:** `SELECT * FROM SinhVien WHERE Ten LIKE ‘Hằng’.`
- Đúng. `LIKE` được sử dụng để so sánh chuỗi, và dấu nháy đơn `'Hằng'` bao quanh giá trị chuỗi cần so sánh. Mặc dù trong trường hợp này, `=` cũng có thể được sử dụng, nhưng `LIKE` vẫn đúng cú pháp và cho kết quả chính xác.
* **Phương án C:** `SELECT [all] FROM SinhVien WHERE Ten = ‘Hằng’`
- Sai. `[all]` không phải là cú pháp hợp lệ trong SQL. `*` được sử dụng để chọn tất cả các cột.
* **Phương án D:** `SELECT [all] FROM SinhVien WHERE Ten LIKE [Hằng]`
- Sai. Kết hợp lỗi của cả phương án A và C. `[all]` không hợp lệ và `[Hằng]` không đúng cú pháp cho so sánh chuỗi.
Vậy, phương án B là phương án đúng nhất.