[Cánh diều] Trắc nghiệm Tin học 11 Tin học ứng dụng Cánh diều Bài 5 Thiết kế truy vấn
1. Ngôn ngữ truy vấn cấu trúc (SQL) chủ yếu được sử dụng để làm gì trong hệ quản trị cơ sở dữ liệu quan hệ?
A. Thiết kế giao diện người dùng cho ứng dụng cơ sở dữ liệu.
B. Quản lý tài nguyên hệ thống và giám sát hiệu suất.
C. Định nghĩa, thao tác và truy xuất dữ liệu.
D. Mã hóa và giải mã dữ liệu nhạy cảm.
2. Trong SQL, mệnh đề nào được sử dụng để chỉ định các trường dữ liệu cần truy xuất từ bảng?
A. FROM
B. WHERE
C. SELECT
D. ORDER BY
3. Câu lệnh SQL nào sau đây sẽ cập nhật giá của sản phẩm có MaSP là SP001 thành 150000?
A. INSERT INTO SanPham SET Gia = 150000 WHERE MaSP = SP001;
B. UPDATE SanPham SET Gia = 150000 WHERE MaSP = SP001;
C. MODIFY SanPham Gia = 150000 WHERE MaSP = SP001;
D. ALTER TABLE SanPham SET Gia = 150000 WHERE MaSP = SP001;
4. Mệnh đề ORDER BY trong SQL dùng để làm gì?
A. Lọc bản ghi theo điều kiện.
B. Nhóm các bản ghi có giá trị giống nhau.
C. Sắp xếp kết quả truy vấn theo thứ tự tăng hoặc giảm dần.
D. Kết hợp dữ liệu từ nhiều bảng.
5. Để kết hợp dữ liệu từ hai bảng, ví dụ KhachHang và DonHang, dựa trên cột chung là MaKH, bạn sẽ sử dụng loại câu lệnh SQL nào?
A. SELECT
B. INSERT
C. UPDATE
D. JOIN
6. Để đếm số lượng bản ghi trong một bảng SanPham có tên sản phẩm bắt đầu bằng chữ A, bạn sẽ dùng câu lệnh SQL nào?
A. SELECT COUNT(*) FROM SanPham WHERE TenSP LIKE A%;
B. SELECT COUNT(TenSP) FROM SanPham WHERE TenSP LIKE %A%;
C. SELECT COUNT(*) FROM SanPham WHERE TenSP = A;
D. SELECT COUNT(TenSP) FROM SanPham WHERE TenSP STARTS WITH A;
7. Trong thiết kế cơ sở dữ liệu, thuật ngữ truy vấn (query) được hiểu chính xác nhất là gì?
A. Một tập hợp các bản ghi được sắp xếp theo một tiêu chí nhất định.
B. Một yêu cầu để hệ quản trị cơ sở dữ liệu thực hiện một hoặc nhiều thao tác trên dữ liệu, thường là để trích xuất dữ liệu.
C. Một bản thiết kế cấu trúc của bảng trong cơ sở dữ liệu.
D. Một thủ tục lưu trữ các lệnh SQL để thực thi định kỳ.
8. Toán tử `LIKE` trong SQL thường được kết hợp với ký tự đại diện nào để tìm kiếm các chuỗi bắt đầu bằng một ký tự cụ thể?
9. Trong thiết kế truy vấn, việc sử dụng các bí danh (alias) cho bảng hoặc cột có lợi ích gì?
A. Giúp câu lệnh SQL ngắn gọn hơn và dễ đọc hơn, đặc biệt khi làm việc với nhiều bảng hoặc tên cột dài.
B. Tăng tốc độ thực thi của câu lệnh truy vấn.
C. Bắt buộc phải sử dụng cho mọi truy vấn.
D. Chỉ có tác dụng khi sử dụng các hàm tổng hợp.
10. Giả sử bạn có bảng DonHang với các cột MaDH, NgayDat, TongTien. Để tính tổng số tiền của tất cả các đơn hàng, bạn sẽ dùng câu lệnh SQL nào?
A. SELECT AVG(TongTien) FROM DonHang;
B. SELECT COUNT(TongTien) FROM DonHang;
C. SELECT MAX(TongTien) FROM DonHang;
D. SELECT SUM(TongTien) FROM DonHang;
11. Trong các loại JOIN, `INNER JOIN` trả về kết quả như thế nào?
A. Chỉ các bản ghi có sự trùng khớp ở cả hai bảng.
B. Tất cả các bản ghi từ bảng bên trái và các bản ghi trùng khớp từ bảng bên phải.
C. Tất cả các bản ghi từ bảng bên phải và các bản ghi trùng khớp từ bảng bên trái.
D. Tất cả các bản ghi từ cả hai bảng, bất kể có trùng khớp hay không.
12. Khi thiết kế truy vấn, việc sử dụng các hàm tổng hợp (ví dụ: SUM, AVG, COUNT) thường đi kèm với mệnh đề nào để phân tích dữ liệu theo từng nhóm?
A. WHERE
B. ORDER BY
C. GROUP BY
D. HAVING
13. Khi thiết kế một truy vấn, việc xác định rõ các trường cần lấy và điều kiện lọc là bước quan trọng nhằm mục đích gì?
A. Tăng kích thước của cơ sở dữ liệu.
B. Giảm tính bảo mật của dữ liệu.
C. Đảm bảo truy vấn trả về đúng dữ liệu cần thiết một cách hiệu quả, tránh lấy thừa thông tin.
D. Phức tạp hóa câu lệnh SQL.
14. Phát biểu nào sau đây mô tả đúng nhất mục đích của mệnh đề WHERE trong câu lệnh SQL?
A. Để chỉ định các trường (cột) sẽ được trả về trong kết quả truy vấn.
B. Để lọc các bản ghi dựa trên một hoặc nhiều điều kiện xác định.
C. Để sắp xếp thứ tự các bản ghi trong kết quả.
D. Để nhóm các bản ghi có cùng giá trị trong một hoặc nhiều trường.
15. Mệnh đề `GROUP BY` trong SQL có tác dụng gì?
A. Lọc các bản ghi dựa trên một điều kiện.
B. Sắp xếp kết quả truy vấn.
C. Nhóm các hàng có cùng giá trị trong một hoặc nhiều cột để áp dụng các hàm tổng hợp.
D. Kết hợp dữ liệu từ hai hoặc nhiều bảng.
16. Khi muốn lấy tất cả các bản ghi từ một bảng mà không có điều kiện lọc cụ thể, bạn sẽ sử dụng câu lệnh SQL nào?
A. SELECT * FROM TenBang WHERE 1=1;
B. SELECT * FROM TenBang;
C. SELECT DISTINCT * FROM TenBang;
D. SELECT ALL * FROM TenBang;
17. Trong SQL, câu lệnh `INSERT INTO` dùng để làm gì?
A. Cập nhật dữ liệu hiện có trong bảng.
B. Xóa dữ liệu khỏi bảng.
C. Thêm các bản ghi (hàng) mới vào bảng.
D. Tạo cấu trúc mới cho bảng.
18. Nếu bạn muốn truy vấn lấy tên sản phẩm và số lượng bán ra của mỗi sản phẩm, bạn cần kết hợp thông tin từ những bảng nào (giả sử có bảng SanPham và bảng ChiTietDonHang với cột MaSP và SoLuong)?
A. Chỉ bảng SanPham.
B. Chỉ bảng ChiTietDonHang.
C. Bảng SanPham và bảng ChiTietDonHang.
D. Bảng SanPham và bảng DonHang.
19. Nếu bạn cần lấy tất cả thông tin về khách hàng và các đơn hàng của họ, ngay cả khi một số khách hàng chưa có đơn hàng nào, bạn nên sử dụng loại JOIN nào?
A. INNER JOIN
B. LEFT JOIN
C. RIGHT JOIN
D. FULL OUTER JOIN
20. Câu lệnh SQL nào dùng để xóa một bản ghi khỏi bảng?
A. DELETE FROM TenBang WHERE ĐiềuKiện;
B. REMOVE FROM TenBang WHERE ĐiềuKiện;
C. DROP FROM TenBang WHERE ĐiềuKiện;
D. ERASE FROM TenBang WHERE ĐiềuKiện;
21. Mục đích chính của việc tạo chỉ mục (index) trên một cột trong cơ sở dữ liệu là gì?
A. Tăng dung lượng lưu trữ của cơ sở dữ liệu.
B. Giảm tốc độ truy vấn dữ liệu.
C. Tăng tốc độ truy vấn dữ liệu, đặc biệt khi sử dụng các mệnh đề WHERE hoặc JOIN trên cột đó.
D. Ngăn chặn việc xóa dữ liệu.
22. Câu lệnh SQL nào sau đây sẽ trả về tên của tất cả các khách hàng chưa từng đặt hàng (giả sử bảng KhachHang và DonHang có cột MaKH)?
A. SELECT K.TenKH FROM KhachHang K JOIN DonHang D ON K.MaKH = D.MaKH;
B. SELECT K.TenKH FROM KhachHang K LEFT JOIN DonHang D ON K.MaKH = D.MaKH WHERE D.MaKH IS NULL;
C. SELECT K.TenKH FROM KhachHang K WHERE K.MaKH NOT IN (SELECT MaKH FROM DonHang);
D. Cả hai lựa chọn B và C đều đúng.
23. Khi sử dụng mệnh đề `HAVING` trong SQL, nó có chức năng tương tự như mệnh đề nào nhưng áp dụng cho các nhóm được tạo bởi `GROUP BY`?
A. SELECT
B. FROM
C. WHERE
D. ORDER BY
24. Giả sử bạn có một bảng HocSinh với các cột MaHS, TenHS, DiemTB. Để lấy ra tất cả các học sinh có điểm trung bình lớn hơn 8.0, câu lệnh SQL nào là phù hợp nhất?
A. SELECT * FROM HocSinh WHERE DiemTB > 8.0;
B. SELECT DiemTB FROM HocSinh WHERE DiemTB > 8.0;
C. SELECT MaHS, TenHS FROM HocSinh WHERE DiemTB > 8.0;
D. SELECT * FROM HocSinh ORDER BY DiemTB DESC;
25. Phát biểu nào sau đây mô tả đúng vai trò của `DISTINCT` trong câu lệnh SQL?
A. Nó được sử dụng để loại bỏ các bản ghi trùng lặp.
B. Nó được sử dụng để chỉ định các trường không được null.
C. Nó được sử dụng để sắp xếp kết quả theo thứ tự ngược lại.
D. Nó được sử dụng để giới hạn số lượng bản ghi trả về.