Font size
WorksheetsPage 1
Total questions: 63
Worksheet time: 32mins
Hình ảnh mô tả thao tác đang thực hiện trong hệ quản trị SQL Server là gì?
Không có đáp án đúng
Xóa bảng dbo.HOCSINH
Cập nhật dữ liệu cho bảng dbo.HOCSINH
Xóa một bản ghi trong bảng dbo.HOCSINH
Ý nghĩa của câu lệnh UPDATE dbo.GIAOVIEN SET LUONG = 10000 , DIACHI = 'DALAT' trong hình là gì?
Chỉ cập nhật lương và địa chỉ của giáo viên có mã GV001.
Cập nhật lương và địa chỉ của tất cả giáo viên trong bảng GIAOVIEN.
Không có bản ghi nào bị ảnh hưởng vì câu lệnh thiếu điều kiện WHERE.
Chỉ cập nhật địa chỉ của tất cả giáo viên trong bảng.
Cho bảng NhanVien với các cột MaNV, HoTen, Luong, và DiaChi. Chọn câu lệnh SQL đúng để thêm nhân viên mới có mã 'NV001', họ tên 'Nguyen Van A', lương 12000 , địa chỉ 'HaNoi'.
INSERT INTO NhanVien (MaNV, HoTen, Luong, DiaChi) VALUES ('NV001','Nguyen Van A',12000,'HaNoi');
UPDATE NhanVien SET MaNV='NV001', HoTen='Nguyen Van A', Luong=12000, DiaChi='HaNoi';
INSERT INTO NhanVien VALUES ('NV001','Nguyen Van A','HaNoi',12000);
INSERT INTO NhanVien (MaNV, HoTen, Luong) VALUES ('NV001','Nguyen Van A',12000);
Nếu muốn xóa đồng thời nhiều bản ghi trong giao diện Table, bạn cần thực hiện thao tác nào?
Kéo chọn nhiều bản ghi > Nhấn phím Delete > Xác nhận "Yes".
Sử dụng câu lệnh DELETE trong cửa sổ SQL Query.
Nhấp vào mỗi bản ghi cần xóa và nhấn phím Delete từng bản ghi một.
Chọn bảng > Nhấn phím Delete để xóa toàn bộ dữ liệu.
Nếu bạn muốn xóa toàn bộ bản ghi trong bảng "NhanVien" mà không xác định điều kiện, câu lệnh SQL đúng sẽ là:
DELETE FROM NhanVien WHERE 1 = 1;
DELETE FROM NhanVien;
DELETE ALL FROM NhanVien;
DROP FROM NhanVien;
Bạn muốn xóa các bản ghi từ bảng "KhachHang" có "SoDienThoai" chứa số "123". Câu lệnh DELETE nào dưới đây đúng?
DELETE FROM KhachHang WHERE SoDienThoai LIKE '%123%';
DELETE FROM KhachHang WHERE SoDienThoai CONTAINS '123';
DELETE FROM KhachHang WHERE SoDienThoai = '123';
DELETE KhachHang WHERE SoDienThoai LIKE '%123%';
Giả sử bạn cần xóa các bản ghi từ bảng "HoaDon" mà "NgayThanhToan" là NULL. Bạn sẽ sử dụng câu lệnh DELETE nào?
DELETE FROM HoaDon WHERE NgayThanhToan = NULL;
DELETE FROM HoaDon WHERE NgayThanhToan IS NULL;
DELETE FROM HoaDon WHERE NgayThanhToan = NULL;
DELETE HoaDon WHERE Ngay Thanh Toan IS NULL;
Trong câu lệnh SELECT, từ khóa DISTINCT có tác dụng gì?
Loại bỏ các giá trị NULL
Loại bỏ các dòng trùng lặp trong kết quả
Tính toán giá trị trung bình của một cột
Xác định thứ tự sắp xếp các kết quả
Bảng nhan_vien có các cột ma_nhan_vien, ten, luong, và phong_ban_id. Người dùng muốn lấy tên các nhân viên có mức lương cao hơn 8000. Câu lệnh SQL nào sau đây là chính xác?
SELECT ten FROM nhan_vien HAVING luong > 8000;
SELECT ten FROM nhan_vien WHERE luong > 8000;
SELECT DISTINCT ten FROM nhan_vien WHERE luong > 8000;
SELECT ten FROM nhan_vien WHERE luong > 8000 GROUP BY ten;
Bảng san_pham có các cột ma_san_pham, ten_san_pham, gia, và so_luong. Bạn muốn tìm Tổng số lượng các sản phẩm đã bán trong mỗi tháng của năm 2023. Câu lệnh SQL nào sẽ cho kết quả này?
SELECT MONTH(ngay_ban), SUM(so_luong) FROM don_hang WHERE YEAR(ngay_ban) = 2023 GROUP BY MONTH(ngay_ban);
SELECT YEAR(ngay_ban), SUM(so_luong) FROM don_hang GROUP BY YEAR(ngay_ban);
SELECT MONTH(ngay_ban), SUM(so_luong) FROM don_hang GROUP BY MONTH(ngay_ban);
SELECT ngay_ban, SUM(so_luong) FROM don_hang WHERE YEAR(ngay_ban) = 2023 GROUP BY ngay_ban;
Bảng nhan_vien có các cột ma_nhan_vien, ten, luong, và phong_ban_id. Bạn muốn lấy tên và lương của các nhân viên có lương cao hơn mức lương trung bình trong toàn bộ bảng này. Câu lệnh SQL nào là chính xác?
SELECT ten, luong FROM nhan_vien WHERE luong > (SELECT AVG(luong) FROM nhan_vien);
SELECT ten, luong FROM nhan_vien WHERE luong > AVG(luong);
SELECT ten, luong FROM nhan_vien WHERE luong > (SELECT luong FROM nhan_vien);
SELECT ten, luong FROM nhan_vien WHERE luong > (SELECT AVG(luong) FROM nhan_vien GROUP BY phong_ban_id);
Bảng khach_hang có các cột ma_khach_hang, ten_khach_hang, và dia_chi. Bạn muốn lấy tên các khách hàng có địa chỉ là 'Hà Nội'. Câu lệnh SQL nào là chính xác?
SELECT ten_khach_hang FROM khach_hang WHERE dia_chi = 'Hà Nội';
SELECT DISTINCT ten_khach_hang FROM khach_hang WHERE dia_chi = 'Hà Nội';
SELECT ten_khach_hang FROM khach_hang HAVING dia_chi = 'Hà Nội';
SELECT ten_khach_hang FROM khach_hang WHERE dia_chi LIKE 'Hà Nội';
Có bảng sinh_vien với các cột ma_sinh_vien, ten, và diem. Bạn muốn lấy danh sách các sinh viên có điểm số từ 80 trở lên và sắp xếp theo thứ tự giảm dần của điểm số. Câu lệnh SQL nào sau đây là chính xác?
SELECT ten, diem FROM sinh_vien ORDER BY diem DESC;
SELECT ten, diem FROM sinh_vien WHERE diem >= 80 ORDER BY ten DESC;
SELECT ten, diem FROM sinh_vien WHERE diem >= 80 ORDER BY diem DESC;
SELECT ten, diem FROM sinh_vien WHERE diem >= 80 ORDER BY diem ASC;
Bảng san_pham có các cột ma_san_pham, ten_san_pham, và gia. Bạn muốn lấy tất cả các sản phẩm và sắp xếp theo giá từ thấp đến cao. Câu lệnh SQL nào là chính xác?
SELECT * FROM san_pham ORDER BY ten_san_pham ASC;
SELECT * FROM san_pham ORDER BY ten_san_pham DESC;
SELECT * FROM san_pham ORDER BY gia ASC;
SELECT * FROM san_pham ORDER BY gia DESC;
Bạn muốn lấy tất cả các đơn hàng có tổng tiền lớn hơn giá trị tổng tiền của đơn hàng có giá trị cao nhất. Câu lệnh SQL nào là chính xác?
SELECT * FROM don_hang WHERE tong_tien > (SELECT MIN(tong_tien) FROM don_hang);
SELECT * FROM don_hang WHERE tong_tien > ALL (SELECT tong_tien FROM don_hang);
SELECT * FROM don_hang WHERE tong_tien > (SELECT MAX(tong_tien) FROM don_hang);
SELECT * FROM don_hang WHERE tong_tien > (SELECT AVG(tong_tien) FROM don_hang);
Một bảng DonHang có các cột MaDH, Khach Hang, và Trang Thai. Viết câu lệnh để cập nhật trạng thái tất cả các đơn hàng của khách hàng 'Le Van B' thành 'Hoan Thanh'. Chọn câu lệnh đúng.
UPDATE DonHang SET TrangThai = 'Hoan Thanh' WHERE KhachHang = 'Le Van B';
UPDATE DonHang SET TrangThai = 'Hoan Thanh';
UPDATE DonHang SET TrangThai = 'Hoan Thanh' WHERE MaDH = 'Le Van B';
UPDATE DonHang SET KhachHang = 'Hoan Thanh' WHERE KhachHang = 'Le Van B';
Khi sử dụng câu lệnh DELETE, tại sao nên sử dụng mệnh đề "WHERE"?
Để xóa tất cả bản ghi trong bảng.
Để xóa dữ liệu nhanh hơn.
Để đảm bảo xóa đúng bản ghi mong muốn, tránh xóa toàn bộ dữ liệu trong bảng.
Mệnh đề WHERE không cần thiết trong câu lệnh DELETE.
Bảng don_hang có các cột ma_don_hang, ma_khach_hang, và tong_tien. Bạn muốn lấy tất cả các đơn hàng và sắp xếp theo tổng tiền từ cao đến thấp. Câu lệnh SQL nào là chính xác?
SELECT * FROM don_hang ORDER BY tong_tien ASC;
SELECT * FROM don_hang ORDER BY ma_khach_hang ASC;
SELECT * FROM don_hang ORDER BY ma_khach_hang DESC;
SELECT * FROM don_hang ORDER BY tong_tien DESC;
Khối lệnh sau thực hiện yêu cầu nào? SELECT customer_id, SUM(order_total) AS total_payment FROM orders GROUP BY customer_id HAVING SUM(order_total) > 10000000;
Tìm ra các khách hàng có tổng số tiền phải thanh toán cho tất cả các lần đặt hàng lớn hơn 10 triệu
Không có đáp án đúng
Tìm ra khách hàng đã mua hàng trên 100 triệu gần đây nhất
Tính tổng số tiền khách hàng phải trả cho tất cả các lần đặt hàng
Khối lệnh sau thực hiện yêu cầu nào? SELECT MASP, AVG(SoLuong) AS SoLuongTrungBinh FROM ChiTietDonHang GROUP BY MaSP HAVING AVG(SoLuong) < 10;
Tìm các sản phẩm có số lượng bán trung bình nhỏ hơn 10
Tìm các sản phẩm có tổng số lượng bán nhỏ hơn 10
Không có đáp án đúng
Tìm các sản phẩm bán chậm nhất trong danh sách
Khối lệnh sau thực hiện yêu cầu nào? SELECT COUNT(DISTINCT MaKH) AS SoLuongKhachHang FROM DonHang WHERE TongTien > 1000000;
Đếm số khách hàng có ít nhất một đơn hàng lớn hơn 1 triệu
Đếm tổng số đơn hàng lớn hơn 1 triệu
Không có đáp án đúng
Đếm số khách hàng đã mua hàng trong năm nay
Với bảng SanPham có cột GiaBan, hãy chọn câu lệnh SQL đúng để tăng giá bán của tất cả sản phẩm thêm 10%.
UPDATE SanPham SET GiaBan = GiaBan * 1.1;
UPDATE SanPham SET GiaBan = GiaBan + GiaBan * 10;
UPDATE SanPham SET GiaBan = GiaBan + 10%;
UPDATE SanPham SET GiaBan = 10% * GiaBan;
Nếu bạn muốn xóa tất cả các bản ghi trong bảng "SanPham" có "Giá" nhỏ hơn 50, câu lệnh DELETE chính xác là:
DELETE FROM SanPham;
DELETE SanPham WHERE Gia < 50;
DELETE WHERE Gia < 50 FROM SanPham;
DELETE FROM SanPham WHERE Gia < 50;
Mệnh đề GROUP BY trong câu lệnh SELECT có chức năng gì?
Phân nhóm các dữ liệu thành các nhóm để tính toán các giá trị thống kê
Thay đổi tên các cột trong kết quả truy vấn
Sắp xếp các dữ liệu theo thứ tự tăng dần
Lọc các dòng dữ liệu không hợp lệ
Bảng khach_hang có các cột ma_khach_hang, ten_khach_hang, dia_chi, và email. Bạn muốn lấy tất cả các khách hàng có địa chỉ chứa "Hà Nội" trong thông tin. Câu lệnh SQL nào là chính xác?
SELECT * FROM khach_hang WHERE dia_chi LIKE 'Hà Nội';
SELECT * FROM khach_hang WHERE dia_chi = 'Hà Nội';
SELECT * FROM khach_hang WHERE dia_chi = '%Hà Nội%';
SELECT * FROM khach_hang WHERE dia_chi LIKE '%Hà Nội%';
Khi sử dụng từ khóa GROUP BY, các biểu thức trong câu lệnh SELECT ngoài các hàm gộp cần phải làm gì?
Phải xuất hiện trong mệnh đề GROUP BY
Phải xuất hiện trong mệnh đề ORDER BY
Phải là hằng số
Phải phụ thuộc vào hàm gộp
Mệnh đề nào trong câu lệnh SELECT được sử dụng để lọc dữ liệu dựa trên một điều kiện cụ thể?
ORDER BY
WHERE
GROUP BY
FROM
Mệnh đề HAVING trong câu lệnh SELECT khác mệnh đề WHERE ở điểm nào?
HAVING chỉ lọc các dữ liệu có giá trị NULL
HAVING chỉ được sử dụng khi có mệnh đề ORDER BY
HAVING không để sử dụng các hàm gộp
HAVING được sử dụng để lọc các giá trị thống kê từ các hàm gộp, trong khi WHERE chỉ lọc các dòng dữ liệu thông thường
Khi sử dụng giao diện Table để xóa một bản ghi, bạn cần thực hiện thao tác nào để hoàn tất việc xóa?
Nhấp chuột phải vào bản ghi > Chọn “Delete Record”
Nhấn tổ hợp phím “Ctrl+D”
Nhấp chuột phải vào bản ghi > “Edit Record”
Nhấp chuột trái vào phía trước bản ghi > Phím Delete > Xác nhận “Yes”
Khi sử dụng câu lệnh INSERT INTO để thêm dữ liệu vào bảng, điều nào sau đây là đúng? (Chọn 2 đáp án đúng) + Sinh viên chọn 2 phương án đúng nhất
Câu lệnh INSERT INTO có thể viết theo hai cách khác nhau
Lệnh INSERT INTO chỉ dùng được với một bản ghi tại một thời điểm
Có thể không cần liệt kê tên các cột nếu cung cấp đầy đủ giá trị theo đúng thứ tự cột trong bảng
INSERT INTO luôn yêu cầu khai báo kiểu dữ liệu cho từng giá trị
Nối câu lệnh với chức năng tương ứng: INSERT INTO ten_bang (cot1, cot2, cot3) VALUES (giatri1, giatri2, giatri3);
Thêm một bản ghi mới vào bảng với giá trị cho ba cột theo thứ tự
Cập nhật các giá trị hiện có trong bảng dựa trên điều kiện
Xóa các bản ghi trùng lặp khỏi bảng
Tạo một bảng mới với ba cột và chèn dữ liệu mặc định
Khi viết câu lệnh INSERT INTO: Có thể bỏ qua tên cột nếu nhập đủ giá trị theo thứ tự bảng.
Sai
Đúng
Khi viết câu lệnh INSERT INTO: Câu lệnh sẽ lỗi nếu số giá trị không khớp số cột.
Sai
Đúng
Khi viết câu lệnh INSERT INTO: Cần đảm bảo thứ tự và số lượng giá trị phù hợp với các cột nếu không khai báo tên cột.
Sai
Đúng
Những điều nào sau đây là đúng khi sử dụng câu lệnh DELETE trong SQL Server? (Chọn 2 đáp án đúng)
Nếu không có WHERE, tất cả các bản ghi sẽ bị xóa
Bắt buộc phải ghi rõ tên các cột cần xóa trong câu lệnh DELETE
DELETE không thể sử dụng với điều kiện
Có thể dùng DELETE để xóa một hoặc nhiều bản ghi trong bảng
Khi dùng câu lệnh DELETE trong SQL Server: Nếu không có WHERE, tất cả dữ liệu trong bảng sẽ bị xóa.
Sai
Đúng
Luôn cần ghi rõ các tên cột trong lệnh.
Đúng
Sai
Có thể xóa dữ liệu theo điều kiện.
Sai
Đúng
Tình huống: Bạn muốn biết mỗi khách hàng đã mua tổng bao nhiêu tiền hàng trong năm qua. Yêu cầu: Xem xét phát biểu sau — Có thể dùng HAVING để chỉ hiển thị khách có tổng tiền lớn hơn 10 triệu.
Đúng
Sai
Tình huống: Bạn muốn biết mỗi khách hàng đã mua tổng bao nhiêu tiền hàng trong năm qua. Yêu cầu: Xem xét phát biểu sau — Bạn cần dùng GROUP BY để gom dữ liệu theo mã khách hàng.
Đúng
Sai
Tình huống: Bạn muốn biết mỗi khách hàng đã mua tổng bao nhiêu tiền hàng trong năm qua. Yêu cầu: Xem xét phát biểu sau — Sử dụng SUM(TongTien) để tính tổng tiền.
Đúng
Sai
Tình huống: Bạn cần trình bày danh sách sản phẩm theo thứ tự giảm dần của giá bán. Yêu cầu: Xác định đúng – sai phát biểu — Dùng ORDER BY Gia DESC để sắp xếp giảm dần theo giá.
Sai
Đúng
Tình huống: Bạn cần trình bày danh sách sản phẩm theo thứ tự giảm dần của giá bán. Yêu cầu: Xác định đúng – sai phát biểu — Có thể sắp xếp theo nhiều cột trong ORDER BY.
Sai
Đúng
ORDER BY phải đứng trước GROUP BY trong lệnh SELECT.
Đúng
Sai
Khi sử dụng giao diện Table để thêm dữ liệu trong SQL Server Management Studio: Bạn cần nhập dữ liệu tại dòng có dấu * phía trước.
Đúng
Sai
Khi sử dụng giao diện Table để thêm dữ liệu trong SQL Server Management Studio: Bạn có thể sửa nhiều trường trong một bản ghi.
Đúng
Sai
Khi sử dụng giao diện Table để thêm dữ liệu trong SQL Server Management Studio: Các trường chưa nhập sẽ tự động được gán giá trị mặc định từ hệ điều hành.
Đúng
Sai
Khi xóa dữ liệu bằng giao diện Table: Có thể xóa đồng thời nhiều dòng bằng cách kéo chọn.
Đúng
Sai
Khi xóa dữ liệu bằng giao diện Table: Không cần xác nhận trước khi xóa.
Sai
Đúng
Khi xóa dữ liệu bằng giao diện Table: Cần chọn dòng trước rồi nhấn Delete.
Sai
Đúng
Yêu cầu: Ghép đúng hàm gợi ý với yêu cầu thực tế. Chọn hàm phù hợp cho yêu cầu: Đếm số đơn hàng.
COUNT()
MAX()
AVG()
SUM()
MIN()
Yêu cầu: Ghép đúng hàm gợi ý với yêu cầu thực tế. Chọn hàm phù hợp cho yêu cầu: Tìm đơn hàng có giá trị lớn nhất.
COUNT()
MAX()
AVG()
SUM()
MIN()
Yêu cầu: Ghép đúng hàm gợi ý với yêu cầu thực tế. Chọn hàm phù hợp cho yêu cầu: Tìm điểm trung bình học sinh.
COUNT()
MAX()
AVG()
SUM()
MIN()
Yêu cầu: Ghép đúng hàm gợi ý với yêu cầu thực tế. Chọn hàm phù hợp cho yêu cầu: Tính tổng tiền khách hàng phải trả.
COUNT()
MAX()
AVG()
SUM()
MIN()
Yêu cầu: Ghép đúng hàm gợi ý với yêu cầu thực tế. Chọn hàm phù hợp cho yêu cầu: Tìm khách hàng có đơn hàng nhỏ nhất.
COUNT()
MAX()
AVG()
SUM()
MIN()
Câu 38: Kéo và thả cách thực hiện phù hợp vào từng tình huống thực tế tương ứng. Tình huống: Xóa nhiều dòng liên tiếp qua giao diện Table. Chọn cách thực hiện đúng.
Giữ chuột trái kéo chọn nhiều dòng → nhấn Delete
Dùng lệnh DELETE FROM ... WHERE
Nhấp chuột trái vào dòng → nhấn Delete
Dùng BEGIN TRANSACTION trước khi xóa
Câu 38: Kéo và thả cách thực hiện phù hợp vào từng tình huống thực tế tương ứng. Tình huống: Xóa nhanh theo điều kiện phức tạp. Chọn cách thực hiện đúng.
Giữ chuột trái kéo chọn nhiều dòng → nhấn Delete
Dùng lệnh DELETE FROM ... WHERE
Nhấp chuột trái vào dòng → nhấn Delete
Dùng BEGIN TRANSACTION trước khi xóa
Câu 38: Kéo và thả cách thực hiện phù hợp vào từng tình huống thực tế tương ứng. Tình huống: Xóa một dòng cụ thể qua giao diện Table. Chọn cách thực hiện đúng.
Giữ chuột trái kéo chọn nhiều dòng → nhấn Delete
Dùng lệnh DELETE FROM ... WHERE
Nhấp chuột trái vào dòng → nhấn Delete
Dùng BEGIN TRANSACTION trước khi xóa
Câu 38: Kéo và thả cách thực hiện phù hợp vào từng tình huống thực tế tương ứng. Tình huống: Xóa bộ dữ liệu nhưng cần kiểm soát khôi phục. Chọn cách thực hiện đúng.
Giữ chuột trái kéo chọn nhiều dòng → nhấn Delete
Dùng lệnh DELETE FROM ... WHERE
Nhấp chuột trái vào dòng → nhấn Delete
Dùng BEGIN TRANSACTION trước khi xóa
Câu 39: Tình huống: Khi viết truy vấn để lọc danh sách sản phẩm có giá lớn hơn 1 triệu và còn hàng, bạn sử dụng mệnh đề WHERE. Xác định đúng - sai: Có thể dùng SUM(Giá) trong WHERE để tính tổng giá trước khi lọc.
Đúng
Sai
Câu 39: Tình huống: Khi viết truy vấn để lọc danh sách sản phẩm có giá lớn hơn 1 triệu và còn hàng, bạn sử dụng mệnh đề WHERE. Xác định đúng - sai: Có thể dùng các toán tử như >, =, AND trong WHERE.
Đúng
Sai
Câu 39: Tình huống: Khi viết truy vấn để lọc danh sách sản phẩm có giá lớn hơn 1 triệu và còn hàng, bạn sử dụng mệnh đề WHERE. Xác định đúng - sai: WHERE lọc dữ liệu trước khi thực hiện phân nhóm (GROUP BY).
Đúng
Sai
Ràng buộc PRIMARY KEY trong SQL có đặc điểm gì? Chọn 2 đáp án đúng.
Tạo mối liên kết giữa hai bảng trong cơ sở dữ liệu.
Cho phép nhiều cột trong bảng cùng làm khóa chính.
Kiểm tra tính hợp lệ của dữ liệu khi thêm hoặc sửa.
Đảm bảo giá trị trong cột là duy nhất và không được NULL.
