wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Bài 56 (38C) – Trắc nghiệm SQL

Total questions: 106

Worksheet time: 53mins

Name
Class
Date
1.

SQL là viết tắt của từ nào?

a)

System Query Layout

b)

Simple Query Language

c)

Structured Query Language

d)

Structured Quick Logic

2.

SQL là ngôn ngữ được sử dụng để làm gì trong cơ sở dữ liệu quan hệ?

a)

Mã hóa dữ liệu trong cơ sở dữ liệu để bảo mật

b)

Thiết kế giao diện người dùng cho cơ sở dữ liệu

c)

Tạo, truy xuất, sửa đổi và xóa dữ liệu trong cơ sở dữ liệu

d)

Vẽ sơ đồ mối quan hệ giữa các bảng

3.

Câu lệnh INSERT trong SQL được sử dụng để làm gì?

a)

Truy vấn dữ liệu từ một bảng.

b)

Xóa dữ liệu từ một bảng,

c)

Thêm dữ liệu mới vào một bảng trong cơ sở dữ liệu.

d)

Cập nhật dữ liệu hiện có trong một bảng.

4.

Kiểu dữ liệu Nchar(n) là kiểu dữ liệu gì?

a)

Kiểu chuỗi với độ dài cố định hỗ trợ UNICODE

b)

Kiểu chuỗi với độ dài cố định

c)

Kiểu chuỗi với độ dài chính xác hỗ trợ UNICODE

d)

Kiểu chuỗi với độ dài chính xác

5.

Kiểu dữ liệu Varchar(n) là kiểu dữ liệu gì?

a)

Kiểu chuỗi với độ dài cố định hỗ trợ UNICODE

b)

Kiểu chuỗi với độ dài cố định

c)

Kiểu chuỗi với độ dài chính xác

d)

Kiểu chuỗi với độ dài chính xác hỗ trợ UNICODE

6.

Kiểu dữ liệu nào sau đây trong SQL có thể lưu trữ chuỗi ký tự có độ dài cố định và hỗ trợ ký tự Unicode?

a)

Text

b)

Char

c)

Varchar

d)

Nchar

7.

Kiểu dữ liệu Datetime và Smalldatetime khác nhau như thế nào?

a)

Datetime có độ chính xác đến phần trăm của giây, còn Smalldatetime chỉ chính xác đến phút.

b)

Smalldatetime hỗ trợ ký tự Unicode, còn Datetime không hỗ trợ.

c)

Datetime và Smalldatetime đều lưu trữ số nguyên

d)

Datetime lưu trữ văn bản, còn Smalldatetime lưu trữ số thực.

8.

Trong SQL, khóa ngoại (foreign key) được sử dụng để làm gì?

a)

Xác định một cột hoặc tập hợp các cột là duy nhất trong bảng.

b)

Tự động tạo chỉ mục cho một bảng

c)

Liên kết dữ liệu giữa hai bảng để duy trì tính toàn vẹn tham chiếu.

d)

Xóa toàn bộ dữ liệu trong bảng liên quan.

9.

Từ khóa nào sau đây được sử dụng để cấp quyền cho người sử dụng trong SQL?

a)

OREVOKE

b)

EXECUTE

c)

GRANT

d)

DECLARE

10.

Để xóa bảng dữ liệu cần sử dụng câu lệnh nào?

a)

Không đáp án nào đúng

b)

ALTER TABLE

c)

CREAT TABLE

d)

DROP TABLE

11.

Viết câu lệnh tạo một bảng lưu trữ thông tin sinh viên, bảng này có các cột như MaSV, HoTen, và NgaySinh. Cột MaSV là khóa chính. Câu lệnh CREATE TABLE nào dưới đây là chính xác

a)

1. Create table SinhVien

2. (MaSV int not null,

3. HoTen nvarchar(100)

4. NgaySinh datetime)

b)

1. Create table SinhVien

2. (MaSV int primary key not null,

3. HoTen nvarchar(100),

4. NgaySinh datetime)

c)

1. Create table SinhVien

2. (MaSV int primary key,

3. HoTen nvarchar(100),

4. NgaySinh datetime)

d)

1. Create table SinhVien

2. (MaSV int

3. HoTen nvarchar(100),

4. NgaySinh datetime not null

12.

Bạn muốn tạo bảng Sach với các cột MaSach, TenSach, và Gia. Cột MaSach là khóa chính. Câu lệnh nào sau đây là chính xác?

a)

1. create table Sach

2. (MaSach int

3. TenSach nvarchar(100),

4. Gia decimal (10,2))

b)

1. create table Sach

2. (MaSach int

3. TenSach nvarchar(100),

4. Gia decimal (10, 2) not null)

c)

1. create table Sach(

2. MaSach int primary key,

3. TenSach nvarchar(100)

4. Gia decimal(10,2))

d)

1. create table Sach (

2. MaSach int foreign key not null,

3. TenSach nvarchar(100),

4. Gia decimal(10,2))

13.

Bạn muốn thay đổi bảng Khach Hang để cột Ngay Sinh có kiểu dữ liệu mới là datetime và không cho phép giá trị NULL. Câu lệnh ALTER TABLE nào sau đây là chính xác?

a)

ALTER TABLE Khach Hang CHANGE COLUMN NgaySinh datetime NOT NULL

b)

ALTER TABLE Khach Hang ALTER COLUMN NgaySinh datetime

c)

ALTER TABLE Khach Hang ALTER COLUMN NgaySinh datetime NOT NULL

d)

ALTER TABLE Khach Hang MODIFY COLUMN NgaySinh datetime NOT NULL

14.

Bạn muốn thay đổi kiểu dữ liệu của cột Diem Thi từ int thành decimal(5,2) trong bảng Thi Sinh. Câu lệnh ALTER TABLE nào dưới đây là chính xác?

a)

ALTER TABLE ThiSinh CHANGE COLUMN DiemThi decimal (5.2)

b)

ALTER TABLE ThiSinh ALTER COLUMN DiemThi decimal(5,2)

c)

ALTER TABLE ThiSinh MODIFY COLUMN DiemThi decimal (5.2)

d)

ALTER TABLE ThiSinh UPDATE COLUMN DiemThi decimal (5,2)

15.

Câu lệnh nào dưới đây sẽ xoá bảng NhanVien và tất cả dữ liệu trong bảng này?

a)

TRUNCATE TABLE NhanVien

b)

DROP TABLE NhanVien

c)

REMOVE TABLE NhanVien

d)

DELETE FROM NhanVien

16.

Câu lệnh CREATE trong SQL thuộc loại nào của ngôn ngữ SQL

a)

Ngôn ngữ Thao tác Dữ liệu

b)

Ngôn ngữ Định nghĩa Dữ liệu

c)

Ngôn ngữ Truy vấn Dữ liệu

d)

Ngôn ngữ Điều khiển Dữ liệu

17.

Câu lệnh ALTER trong SQL thực hiện chức năng gì?

a)

Thay đổi cấu trúc của một bảng hoặc đối tượng cơ sở dữ liệu

b)

Xóa hoàn toàn một bảng hoặc đối tượng cơ sở dữ liệu.

c)

Kiểm tra quyền truy cập của người dùng đối với cơ sở dữ liệu

d)

Truy vấn dữ liệu từ một bảng cụ thể

18.

Kiểu dữ liệu Char(n) là kiểu dữ liệu gì?

a)

Kiểu chuỗi với độ dài chính xác

b)

Kiểu chuỗi với độ dài cố định

c)

Kiểu chuỗi với độ dài chính xác hỗ trợ UNICODE

d)

Kiểu chuỗi với độ dài cố định hỗ trợ UNICODE

19.

Nếu cần lưu trữ một số nguyên từ 0 đến 255 trong SQL, kiểu dữ liệu nào phù hợp nhất?

a)

Int

b)

Bigint

c)

Smallint

d)

Tinyint

20.

Nếu một bảng có nhiều cột tham gia vào khoa chính, cách khai báo ràng buộc PRIMARY KEY là gì?

a)

Chỉ cần chỉ định một cột làm PRIMARY KEY, các cột còn lại tự động tham gia.

b)

Không thể tạo khóa chính từ nhiều cột

c)

Sử dụng câu lệnh PRIMARY KEY trên nhiều cột được liệt kê trong ngoặc đơn.

d)

Chỉ định PRIMARY KEY trên từng cột tham gia vào khóa chính.

21.

Doanh nghiệp muốn tạo một bảng Nhan Vien để lưu thông tin nhân viên, bao gồm các cột: MaNV (số nguyên, khóa chính). HoTen (chuỗi ký tự tối đa 100 ký tự, không được để trống). NgayVaoLam (ngày). Câu lệnh nào sau đây là đúng?

a)

CREATE TABLE NhanVien ( MaNV PRIMARY KEY INT HoTen VARCHAR(100) NOT NULL, NgayVaoLam DATE );

b)

CREATE TABLE NhanVien ( MaNV INT PRIMARY KEY, HoTen VARCHAR(100), NgayVaoLam DATE NOT NULL );

c)

CREATE TABLE NhanVien ( MaNV INT NOT NULL, HoTen CHAR(100), NgayVaoLam DATE NOT NULL, PRIMARY KEY (MaNV) );

d)

CREATE TABLE NhanVien ( MaNV INT NOT NULL PRIMARY KEY HoTen VARCHAR (100) NOT NULL, NgayVaoLam DATE );

22.

Câu lệnh nào dùng để xóa bảng Khach Hang khỏi cơ sở dữ liệu?

a)

TRUNCATE TABLE Khach Hang

b)

DELETE FROM Khach Hang

c)

REMOVE TABLE Khach Hang

d)

DROP TABLE Khach Hang

23.

Kiểu dữ liệu Nvarchar(n) là kiểu dữ liệu gì?

a)

Kiểu chuỗi với độ dài chính xác

b)

Kiểu chuỗi với độ dài cố định

c)

Kiểu chuỗi với độ dài chính xác hỗ trợ UNICODE

d)

Kiểu chuỗi với độ dài cố định hỗ trợ UNICODE

24.

Sự khác biệt chính giữa kiểu dữ liệu Float và Decimal trong SQL là gì?

a)

Float hỗ trợ ký tự Unicode, còn Decimal không hỗ trợ

b)

Float là kiểu dữ liệu chuỗi, còn Decimal là kiểu dữ liệu số thực

c)

Float lưu trữ giá trị ký tự, còn Decimal lưu trữ số nguyên

d)

Float là kiểu số thực với độ chính xác không cố định, còn Decimal có độ chính xác cố định

25.

Từ khóa DECLARE có ý nghĩa là gì?

a)

Mở một con trỏ để truy xuất kết quả truy vấn

b)

Đóng một dòng trong kết quả truy vấn

c)

Khai báo biến hoặc định nghĩa con

d)

Đọc một dòng trong kết quả truy vấn (Sử dụng con trỏ)

26.

Doanh nghiệp cần tạo bảng DonHang lưu thông tin đơn hàng với các yêu cầu: MaDH số nguyên, khóa chính; MaKH chuỗi tối đa 50 ký tự, không được để trống; NgayDatHang ngày đặt hàng; Tong Tien kiểu số thực. Câu lệnh nào phù hợp?

a)

1. CREATE TABLE DonHang ( 2. MaDH INT PRIMARY KEY, 3. MaKH VARCHAR(50) NOT NULL, 4. NgayDatHang INT, 5. Tong Tien DECIMAL(10,2) DEFAULT 0.00 6.);

b)

1. CREATE TABLE DonHang ( 2. MaDH INT PRIMARY KEY AUTO INCREMENT, 3. MaKH VARCHAR(50) NOT NULL DEFAULT", 4. NgayDatHang DATE, 5. TongTien FLOAT (10.2) DEFAULT 0 6.);

c)

1. CREATE TABLE DonHang ( 2. MADH INT NOT NULL PRIMARY KEY AUTO INCREMENT 3. MaKH VARCHAR(50) DEFAULT NOT NULL, 4. NgayDatHang DATE DEFAULT NULL, 5. Tong Tien INT)

d)

1. CREATE TABLE DonHang ( 2. MaDH INT PRIMARY KEY 3. MaKH VARCHAR(50) NOT NULL 4. NgayDat Hang DATE 5. Tong Tien FLOAT 6.);

27.

Ràng buộc CHECK trong SQL được sử dụng để làm gì?

a)

Cấp quyền truy cập cho người dùng

b)

Đảm bảo dữ liệu không bị trùng lặp trong bảng

c)

Kiểm tra tính hợp lệ của dữ liệu khi có sự thay đổi (INSERT, UPDATE)

d)

Thực thi các truy vấn SQL

28.

Để tạo bảng dữ liệu cần sử dụng câu lệnh nào?

a)

ALTER TABLE

b)

DROP TABLE

c)

Không đáp án nào đúng

d)

CREAT TABLE

29.

Doanh nghiệp muốn thay đổi bảng có tên NhanVien trong CSDL để bổ sung một cột DiaChi có kiểu dữ liệu nvarchar(100), cho phép giá trị NULL. Câu lệnh ALTER TABLE nào dưới đây là chính xác?

a)

ALTER TABLE NhanVien ADD DiaChi nvarchar(100) NULL

b)

ALTER TABLE NhanVien ADD DiaChi nvarchar(100) NOT NULL

c)

ALTER TABLE NhanVien ADD DiaChi nvarchar(100)

d)

ALTER TABLE NhanVien ADD DiaChi nvarchar(100) default 'Chưa có'

30.

Ràng buộc CHECK trong SQL được sử dụng như thế nào? Chọn 2 đáp án đúng.

a)

Kiểm tra điều kiện hợp lệ của dữ liệu khi thêm hoặc sửa bản ghi

b)

Tạo mối quan hệ giữa các bảng trong cơ sở dữ liệu

c)

Đảm bảo giá trị trong cột là duy nhất trong bảng

d)

Áp dụng điều kiện cụ thể cho giá trị của một hoặc nhiều cột

31.

Bạn muốn xóa bảng NhanVien, nhưng bảng này đang bị tham chiếu bởi bảng ChamCong thông qua ràng buộc khóa ngoại. Hành động phù hợp để đạt kết quả mong muốn là gì?

Muốn xóa bảng NhanVien đang bị khóa ngoại tham chiếu

a)

Xóa trực tiếp bảng NhanVien bằng câu lệnh DELETE

b)

Xóa hoặc vô hiệu hóa khóa ngoại từ bảng ChamCong

32.

Bạn muốn xóa bảng NhanVien, nhưng bảng này đang bị tham chiếu bởi bảng ChamCong thông qua ràng buộc khóa ngoại. Ghép hành động phù hợp với kết quả mong muốn.

Muốn xóa toàn bộ dữ liệu trong bảng có liên kết khóa ngoại

a)

Xóa hoặc vô hiệu hóa khóa ngoại từ bảng ChamCong

b)

Xóa trực tiếp bảng NhanVien bằng câu lệnh DELETE

33.

CầBạn cần đảm bảo rằng cột TongTien trong bảng HoaDon luôn luôn có giá trị >=0. Ghép hành động đúng với câu lệnh phù hợp.

ALTER TABLE HoaDon ADD chk_TongTien CHECK (TongTien > 0)

Đảm bảo TongTien luôn lớn hơn hoặc bằng 0

a)

ALTER TABLE HoaDon ADD CONSTRAINT chk_TongTien CHECK (TongTien >= 0)

b)

ALTER TABLE HoaDon ADD CONSTRAINT chk_TongTien CHECK (TongTien > 0)

34.

Bạn cần đảm bảo rằng cột TongTien trong bảng HoaDon luôn luôn có giá trị >=0. Ghép hành động đúng với câu lệnh phù hợp.

ALTER TABLE HoaDon ADD chk_TongTien CHECK (TongTien > 0)

Đảm bảo TongTien phải lớn hơn 0 (chấp nhận giá trị 0)

a)

ALTER TABLE HoaDon ADD CONSTRAINT chk_TongTien CHECK (TongTien >= 0)

b)

ALTER TABLE HoaDon ADD CONSTRAINT chk_TongTien CHECK (TongTien > 0)

35.

Đánh giá phát biểu: Dùng ALTER TABLE SanPham ALTER COLUMN Gia decimal(10,2) để thay đổi kiểu dữ liệu của cột Gia.

a)

Đúng

b)

Sai

36.

Đánh giá phát biểu: Để thay đổi kiểu dữ liệu, phải xóa rồi tạo lại cột.

a)

Đúng

b)

Sai

37.

Đánh giá phát biểu: Có thể dùng ALTER TABLE SanPham ADD MoTa varchar(200) NULL để thêm cột mô tả.

a)

Đúng

b)

Sai

38.

Kiểu dữ liệu nào trong SQL phù hợp để lưu trữ dữ liệu nhị phân với độ dài thay đổi? Chọn 2 đáp án đúng.

a)

Varbinary

b)

Binary

c)

Text

d)

Image

39.

Ngôn ngữ SQL được sử dụng trong cơ sở dữ liệu quan hệ để thực hiện những nhiệm vụ nào? Chọn 2 đáp án đúng.

a)

Thao tác dữ liệu như thêm, sửa, xóa bản ghi

b)

Thiết kế giao diện người dùng cho ứng dụng

c)

Tạo và quản lý các bảng trong cơ sở dữ liệu

d)

Tối ưu hóa phần cứng của máy chủ cơ sở dữ liệu

40.

Kiểu dữ liệu nào trong SQL phù hợp để lưu trữ số tiền với độ chính xác cao? Chọn 2 đáp án đúng.

a)

Float

b)

Money

c)

Decimal

d)

Int

41.

Ràng buộc FOREIGN KEY trong SQL có vai trò gì? Chọn 2 đáp án đúng.

a)

Cho phép tất cả các cột trong bảng con chứa giá trị NULL

b)

Tạo liên kết giữa khóa chính của bảng cha và cột trong bảng con

c)

Cho phép xóa dữ liệu trong bảng cha mà không ảnh hưởng bảng con

d)

Đảm bảo tính toàn vẹn tham chiếu giữa các bảng

42.

Xác định phát biểu: Cột được khai báo là PRIMARY KEY thì mặc định là NOT NULL.

a)

Đúng

b)

Sai

43.

Xác định phát biểu: Có thể dùng kiểu dữ liệu money để lưu giá trị tổng tiền.

a)

Đúng

b)

Sai

44.

Xác định phát biểu: Trường identity(1,1) dùng để chỉ định khóa chính dạng chuỗi ký tự tự động tăng.

a)

Đúng

b)

Sai

45.

Hình ảnh hiển thị thao tác đang thực hiện chức năng gì trong hệ quản trị SQL Server?

a)

Xóa bảng dbo.HOCSINH

b)

Không có đáp án đúng

c)

Cập nhật dữ liệu cho bảng dbo.HOCSINH

d)

Xóa một bản ghi trong bảng dbo.HOCSINH

46.

Ý nghĩa của câu lệnh trong hình: UPDATE dbo.GIAOVIEN SET LUONG = 10000, DIACHI = 'DALAT'.

a)

Cập nhật lương và địa chỉ của tất cả giáo viên trong bảng GIAOVIEN.

b)

Chỉ cập nhật địa chỉ của tất cả giáo viên trong bảng.

c)

Không có bản ghi nào bị ảnh hưởng vì câu lệnh thiếu điều kiện WHERE.

d)

Chỉ cập nhật lương và địa chỉ của giáo viên có mã GV001.

47.

Một bảng DonHang có các cột MaDH, KhachHang, và TrangThai. Viết câu lệnh để cập nhật trạng thái tất cả đơn hàng của khách hàng "Le Van B" thành "Hoan Thanh".

a)

UPDATE DonHang SET TrangThai = 'Hoan Thanh';

b)

UPDATE DonHang SET TrangThai = 'Hoan Thanh' WHERE KhachHang = 'Le Van B';

c)

UPDATE DonHang SET KhachHang = 'Le Van B', TrangThai = 'Hoan Thanh';

d)

INSERT INTO DonHang (TrangThai) VALUES ('Hoan Thanh') WHERE KhachHang = 'Le Van B';

48.

Khi sử dụng giao diện Table để xóa một bản ghi, thao tác nào cần thực hiện để hoàn tất việc xóa?

a)

Nhấp chuột phải vào bản ghi > Chọn "Delete Record".

b)

Nhấp chuột phải vào bản ghi > Chọn "Edit Record".

c)

Nhấp chuột trái vào phía trước bản ghi > Phím Delete > Xác nhận "Yes".

d)

Nhấn tổ hợp phím "Ctrl + D".

49.

Nếu 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 là:

a)

DELETE FROM NhanVien WHERE 1 = 1;

b)

DELETE FROM NhanVien;

c)

DROP FROM NhanVien;

d)

DELETE ALL FROM NhanVien;

50.

Bạn cần xóa các bản ghi từ bảng "HoaDon" mà "NgayThanhToan" là NULL. Câu lệnh DELETE phù hợp là:

a)

DELETE FROM HoaDon WHERE NgayThanhToan = NULL;

b)

DELETE HoaDon WHERE NgayThanhToan IS NULL;

c)

DELETE FROM HoaDon WHERE NgayThanhToan = NULL;

d)

DELETE FROM HoaDon WHERE NgayThanhToan IS NULL;

51.

Khi dùng câu lệnh DELETE, vì sao nên sử dụng mệnh đề WHERE?

a)

Mệnh đề WHERE không cần thiết trong câu lệnh DELETE.

b)

Để xóa tất cả bản ghi trong bảng.

c)

Để đả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.

d)

Để xóa dữ liệu nhanh hơn.

52.

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:

a)

Phải có trong mệnh đề WHERE

b)

Phải nằm trong mệnh đề HAVING

c)

Phải được liệt kê trong mệnh đề GROUP BY

d)

Phải nằm trong mệnh đề HAVING

53.

Bảng khach_hang có các cột ma_khach_hang, ten_khach_hang, dia_chi, và email. Muốn lấy tất cả các khách hàng có địa chỉ chứa "Hà Nội". Câu lệnh SQL đúng là:

a)

SELECT * FROM khach_hang WHERE dia_chi LIKE "Hà Nội"

b)

SELECT * FROM khach_hang WHERE dia_chi LIKE '%Hà Nội%'

c)

SELECT * FROM khach_hang WHERE dia_chi = '%Hà Nội%'

d)

SELECT * FROM khach_hang WHERE dia_chi = 'Hà Nội'

54.

Bảng don_hang có các cột ma_don_hang, ma_khach_hang, tong_tien, và ngay_don_hang. Bạn muốn liệt kê danh sách các khách hàng có tổng tiền mua hàng lớn hơn 5000, và các đơn hàng được nhóm theo ma_khach_hang. Câu lệnh SQL nào là chính xác?

a)

1) SELECT ma_khach_hang 2) FROM don_hang 3) GROUP BY ma_khach_hang 4) HAVING SUM(tong_tien) > 5000;

b)

1) SELECT ma_khach_hang, SUM(tong_tien) 2) FROM don_hang 3) GROUP BY ma_khach_hang 4) HAVING SUM(tong_tien) > 5000;

c)

1) SELECT ma_khach_hang 2) FROM don_hang 3) HAVING SUM(tong_tien) > 5000;

d)

1) SELECT ma_khach_hang, tong_tien 2) FROM don_hang 3) GROUP BY ma_khach_hang 4) HAVING tong_tien > 5000;

55.

Bảng khach_hang có các cột ma_khach_hang, ten_khach_hang, và dia_chi. 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?

a)

SELECT DISTINCT ten_khach_hang FROM khach_hang WHERE dia_chi = 'Hà Nội'

b)

SELECT ten_khach_hang FROM khach_hang WHERE dia_chi LIKE 'Hà Nội'

c)

SELECT ten_khach_hang FROM khach_hang WHERE dia_chi = "Hà Nội"

d)

SELECT ten_khach_hang FROM khach_hang HAVING dia_chi = "Hà Nội"

56.

Bảng san_pham có các cột ma_san_pham, ten_san_pham, và gia. 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?

a)

SELECT * FROM san_pham ORDER BY ten_san_pham ASC;

b)

SELECT * FROM san_pham ORDER BY gia DESC;

c)

SELECT * FROM san_pham ORDER BY gia ASC;

d)

SELECT * FROM san_pham ORDER BY gia DESC;

57.

Bảng don_hang có các cột ma_don_hang, ma_khach_hang, và tong_tien. 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?

a)

SELECT * FROM don_hang ORDER BY tong_tien DESC;

b)

SELECT * FROM don_hang ORDER BY ma_khach_hang DESC;

c)

SELECT * FROM don_hang ORDER BY tong_tien ASC;

d)

SELECT * FROM don_hang ORDER BY ma_khach_hang ASC;

58.

Khối lệnh sau thực hiện yêu cầu nào: 1) SELECT customer_id, SUM(order_total) AS total_payment 2) FROM orders 3) GROUP BY customer_id 4) HAVING SUM(order_total) > 10000000

a)

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

b)

Không có đáp án đúng

c)

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

d)

Tìm ra khách hàng đã mua hàng trên 100 triệu gần đây nhất

59.

Khối lệnh sau thực hiện yêu cầu nào: 1) SELECT COUNT(DISTINCT MaKH) AS SoLuongKhachHang 2) FROM DonHang 3) WHERE TongTien > 1000000;

a)

Đếm số khách hàng có ít nhất một đơn hàng lớn hơn 1 triệu

b)

Đếm tổng số đơn hàng lớn hơn 1 triệu

c)

Không có đáp án đúng

d)

Đếm số khách hàng đã mua hàng trong năm nay

60.

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 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?

a)

SELECT * FROM don_hang WHERE tong_tien > (SELECT MAX(tong_tien) FROM don_hang);

b)

SELECT * FROM don_hang WHERE tong_tien >= (SELECT MAX(tong_tien) FROM don_hang);

c)

SELECT * FROM don_hang ORDER BY tong_tien DESC LIMIT 1;

d)

SELECT * FROM don_hang WHERE tong_tien > ALL (SELECT tong_tien FROM don_hang WHERE tong_tien = (SELECT MAX(tong_tien) FROM don_hang));

61.

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?

a)

SELECT ten, diem FROM sinh_vien WHERE diem >= 80 ORDER BY diem DESC;

b)

SELECT ten, diem FROM sinh_vien WHERE diem >= 80 ORDER BY diem ASC;

c)

SELECT ten, diem FROM sinh_vien ORDER BY diem DESC;

d)

SELECT ten, diem FROM sinh_vien WHERE diem >= 80 ORDER BY ten DESC;

62.

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 bảng này. Câu lệnh SQL nào là chính xác?

a)

SELECT ten, luong FROM nhan_vien WHERE luong > (SELECT MIN(luong) FROM nhan_vien);

b)

SELECT ten, luong FROM nhan_vien HAVING luong > AVG(luong);

c)

SELECT ten, luong FROM nhan_vien WHERE luong > (SELECT AVG(luong) FROM nhan_vien);

d)

SELECT ten, luong FROM nhan_vien WHERE luong > AVG(luong);

63.

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?

a)

SELECT MONTH(ngay_ban), SUM(so_luong) FROM don_hang WHERE YEAR(ngay_ban) = 2023 GROUP BY MONTH(ngay_ban);

b)

SELECT YEAR(ngay_ban), SUM(so_luong) FROM don_hang GROUP BY YEAR(ngay_ban);

c)

SELECT YEAR(ngay_ban), MONTH(ngay_ban), SUM(so_luong) FROM don_hang WHERE YEAR(ngay_ban) = 2023 GROUP BY YEAR(ngay_ban), MONTH(ngay_ban);

d)

SELECT YEAR(ngay_ban), MONTH(ngay_ban), SUM(so_luong) FROM don_hang GROUP BY YEAR(ngay_ban), MONTH(ngay_ban);

64.

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?

a)

SELECT ten FROM nhan_vien WHERE luong > 8000;

b)

SELECT ten FROM nhan_vien WHERE luong > 8000 GROUP BY ten;

c)

SELECT ten FROM nhan_vien HAVING luong > 8000;

d)

SELECT DISTINCT ten FROM nhan_vien WHERE luong > 8000;

65.

Trong câu lệnh SELECT, từ khóa DISTINCT có tác dụng gì?

a)

Loại bỏ các giá trị NULL

b)

Loại bỏ các dòng trùng lặp trong kết quả

c)

Xác định thứ tự sắp xếp các kết quả

d)

Tính toán giá trị trung bình của một cột

66.

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?

a)

DELETE FROM KhachHang WHERE SoDienThoai IN ('123');

b)

DELETE FROM KhachHang WHERE SoDienThoai LIKE '123%';

c)

DELETE FROM KhachHang WHERE SoDienThoai LIKE '%123%';

d)

DELETE FROM KhachHang WHERE SoDienThoai = '123';

67.

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?

a)

Chọn bảng > Nhấn phím Delete để xóa toàn bộ dữ liệu.

b)

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.

c)

Kéo chọn nhiều bản ghi > Nhấn phím Delete > Xác nhận "Yes".

d)

Sử dụng câu lệnh DELETE trong cửa sổ SQL Query.

68.

Cho bảng NhanVien với các cột MaNV, HoTen, Luong, và DiaChi. Viết câu lệnh SQL để thêm một nhân viên mới có mã NV001, họ tên là "Nguyen Van A", lương là 12000, và địa chỉ là "HaNoi".

a)

ADD INTO NhanVien (MaNV, HoTen, Luong, DiaChi) VALUES ('NV001', 'Nguyen Van A', 12000, 'HaNoi');

b)

INSERT INTO NhanVien (MaNV, HoTen, Luong, DiaChi) VALUES ('NV001', 'Nguyen Van A', 12000, 'HaNoi');

c)

UPDATE TABLE NhanVien SET ('NV001', 'Nguyen Van A', 12000, 'HaNoi');

d)

INSERT INTO NhanVien (MaNV, HoTen, Luong) VALUES ('NV001', 'Nguyen Van A', 12000, 'HaNoi');

69.

Mệnh đề HAVING trong câu lệnh SELECT khác mệnh đề WHERE ở điểm nào?

a)

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.

b)

HAVING không thể sử dụng các hàm gộp

c)

HAVING chỉ được sử dụng khi có mệnh đề ORDER BY

d)

HAVING chỉ lọc các dữ liệu có giá trị NULL

70.

Với bảng SanPham có cột GiaBan, hãy viết câu lệnh để tăng giá bán của tất cả sản phẩm thêm 10%.

a)

UPDATE SanPham SET GiaBan = GiaBan * 1.1;

b)

UPDATE SanPham SET GiaBan = GiaBan + 0.1;

c)

UPDATE SanPham SET GiaBan = GiaBan * 10;

d)

UPDATE SanPham SET GiaBan = GiaBan + 10;

71.

Mệnh đề GROUP BY trong câu lệnh SELECT có chức năng gì?

a)

Sắp xếp các dữ liệu theo thứ tự tăng dần

b)

Lọc các dòng dữ liệu không hợp lệ

c)

Thay đổi tên các cột trong kết quả truy vấn

d)

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ê

72.

Khối lệnh sau thực hiện yêu cầu nào? Đoạn mã SQL: 1. SELECT MaSP, AVG(SoLuong) AS SoLuongTrungBinh 2. FROM ChiTietDonHang 3. GROUP BY MaSP 4. HAVING AVG(SoLuong) < 10;

a)

Tìm các sản phẩm có số lượng bán trung bình nhỏ hơn 10.

b)

Tìm các sản phẩm bán chậm nhất trong danh sách.

c)

Tìm các sản phẩm có tổng số lượng bán nhỏ hơn 10.

d)

Không có đáp án đúng.

73.

Nếu bạn muốn xóa tất cả các bản ghi trong bảng "SanPham" có "Gia" nhỏ hơn 50, câu lệnh DELETE chính xác là:

a)

DELETE SanPham WHERE Gia < 50;

b)

DELETE FROM SanPham;

c)

DELETE FROM SanPham WHERE Gia < 50;

d)

DELETE WHERE Gia < 50 FROM SanPham;

74.

Khi sử dụng 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

a)

INSERT INTO luôn yêu cầu khai báo kiểu dữ liệu cho từng giá trị

b)

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

c)

Câu lệnh INSERT có thể viết theo hai cách khác nhau

d)

Lệnh INSERT INTO chỉ dùng được với một bản ghi tại một thời điểm

75.

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) Sinh viên chọn 2 phương án đúng nhất

a)

Có thể dùng DELETE để xóa một hoặc nhiều bản ghi trong bảng

b)

DELETE không thể sử dụng với điều kiện

c)

Bắt buộc phải ghi rõ tên các cột cần xóa trong câu lệnh DELETE

d)

Nếu không có WHERE, tất cả các bản ghi sẽ bị xóa

76.

Khi sử dụng giao diện Table để thêm dữ liệu trong SQL Server Management Studio: Khẳng định sau đúng hay sai? Bạn cần nhập dữ liệu tại dòng có dấu * phía trước.

a)

Đúng

b)

Sai

77.

Khi sử dụng giao diện Table để thêm dữ liệu trong SQL Server Management Studio: Khẳng định sau đúng hay sai? Bạn có thể sửa nhiều trường trong một bản ghi.

a)

Đúng

b)

Sai

78.

Khi sử dụng giao diện Table để thêm dữ liệu trong SQL Server Management Studio: Khẳng định sau đúng hay sai? 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.

a)

Đúng

b)

Sai

79.

Khi xóa dữ liệu bằng giao diện Table: Khẳng định sau đúng hay sai? Có thể xóa đồng thời nhiều dòng bằng cách kéo chọn.

a)

Đúng

b)

Sai

80.

Khi xóa dữ liệu bằng giao diện Table: Khẳng định sau đúng hay sai? Không cần xác nhận trước khi xóa.

a)

Đúng

b)

Sai

81.

Khi xóa dữ liệu bằng giao diện Table: Khẳng định sau đúng hay sai? Cần chọn dòng trước rồi nhấn Delete.

a)

Đúng

b)

Sai

82.

Tình huống: Bạn muốn biết mỗi khách hàng đã mua tổng cộng bao nhiêu tiền hàng trong năm qua. Xem xét phát biểu: Có thể dùng HAVING để chỉ hiển thị khách có tổng tiền > 10 triệu. Chọn Đúng hoặc Sai.

a)

Đúng

b)

Sai

83.

Tình huống: Bạn muốn biết mỗi khách hàng đã mua tổng cộng bao nhiêu tiền hàng trong năm qua. Xem xét phát biểu: Cần dùng GROUP BY để gom dữ liệu theo mã khách hàng. Chọn Đúng hoặc Sai.

a)

Đúng

b)

Sai

84.

Tình huống: Bạn muốn biết mỗi khách hàng đã mua tổng cộng bao nhiêu tiền hàng trong năm qua. Xem xét phát biểu: Sử dụng SUM(TongTien) để tính tổng tiền. Chọn Đúng hoặc Sai.

a)

Đúng

b)

Sai

85.

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. 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á. Chọn Đúng hoặc Sai.

a)

Đúng

b)

Sai

86.

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. Xác định đúng - sai phát biểu: ORDER BY phải đứng trước GROUP BY trong lệnh SELECT. Chọn Đúng hoặc Sai.

a)

Đúng

b)

Sai

87.

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. Xác định đúng - sai phát biểu: Có thể sắp xếp theo nhiều cột trong ORDER BY. Chọn Đúng hoặc Sai.

a)

Đúng

b)

Sai

88.

Tình huống: Trong báo cáo tổng hợp, bạn phải sử dụng các hàm thống kê để trả lời các câu hỏi sau.

Yêu cầu: Ghép đúng hàm gợi ý với yêu cầu thực tế.

Đếm số đơn hàng

a)

COUNT()

b)

MAX()

c)

AVG()

d)

SUM()

e)

MIN()

89.

Tình huống: Trong báo cáo tổng hợp, bạn phải sử dụng các hàm thống kê để trả lời các câu hỏi sau.

Yêu cầu: Ghép đúng hàm gợi ý với yêu cầu thực tế.

Tìm đơn hàng có giá trị lớn nhất

a)

MIN()

b)

AVG()

c)

MAX()

d)

COUNT()

e)

SUM()

90.

Tình huống: Trong báo cáo tổng hợp, bạn phải sử dụng các hàm thống kê để trả lời các câu hỏi sau.

Yêu cầu: Ghép đúng hàm gợi ý với yêu cầu thực tế.

Tìm điểm trung bình học sinh

a)

MAX()

b)

COUNT()

c)

AVG()

d)

SUM()

e)

MIN()

91.

Tình huống: Trong báo cáo tổng hợp, bạn phải sử dụng các hàm thống kê để trả lời các câu hỏi sau.

Yêu cầu: Ghép đúng hàm gợi ý với yêu cầu thực tế.

Tính tổng tiền khách hàng phải trả

a)

MAX()

b)

 AVG()

c)

SUM()

d)

MIN()

e)

COUNT()

92.

Tình huống: Trong báo cáo tổng hợp, bạn phải sử dụng các hàm thống kê để trả lời các câu hỏi sau.

Yêu cầu: Ghép đúng hàm gợi ý với yêu cầu thực tế.

Tìm khách hàng có đơn hàng nhỏ nhất

a)

COUNT()

b)

MIN()

c)

SUM()

d)

AVG()

e)

MAX()

93.

Xóa nhiều dòng liên tiếp qua giao diện Table

a)

Giữ chuột trái kéo chọn nhiều dòng $\rightarrow$ nhấn Delete

b)

Dùng lệnh DELETE FROM ... WHERE

c)

Nhấp chuột trái vào dòng > nhấn Delete

d)

Dùng BEGIN TRANSACTION trước khi xóa

94.

Xóa nhanh theo điều kiện phức tạp

a)

Nhấp chuột trái vào dòng > nhấn Delete

b)

Giữ chuột trái kéo chọn nhiều dòng $\rightarrow$ nhấn Delete

c)

Dùng lệnh DELETE FROM ... WHERE

d)

Dùng BEGIN TRANSACTION trước khi xóa

95.

Xóa một dòng cụ thể qua giao diện Table

a)

Nhấp chuột trái vào dòng > nhấn Delete

b)

Dùng BEGIN TRANSACTION trước khi xóa

c)

Dùng lệnh DELETE FROM ... WHERE

d)

Giữ chuột trái kéo chọn nhiều dòng $\rightarrow$ nhấn Delete

96.

Xóa bỏ dữ liệu nhưng cần kiểm soát khôi phục

a)

Dùng lệnh DELETE FROM ... WHERE

b)

Dùng BEGIN TRANSACTION trước khi xóa

c)

Nhấp chuột trái vào dòng > nhấn Delete

d)

Giữ chuột trái kéo chọn nhiều dòng $\rightarrow$ nhấn Delete

97.

Cập nhật dữ liệu theo điều kiện

a)

UPDATE ten_bang SET cot = gia_tri WHERE dieu_kien

b)

INSERT INTO ten_bang (cot1, cot2, cot3) VALUES (giatri1, giatri2, giatri3);

c)

INSERT INTO ten_bang VALUES (...);

d)

UPDATE ten_bang SET cot = gia_tri

98.

Thêm bản ghi có ghi rõ tên cột

a)

UPDATE ten_bang SET cot = gia_tri

b)

INSERT INTO ten_bang (cot1, cot2, cot3) VALUES (giatri1, giatri2, giatri3);

c)

UPDATE ten_bang SET cot = gia_tri WHERE dieu_kien

d)

INSERT INTO ten_bang VALUES (...);

99.

Thêm bản ghi mới vào bảng

a)

UPDATE ten_bang SET cot = gia_tri WHERE dieu_kien

b)

INSERT INTO ten_bang VALUES (...);

c)

INSERT INTO ten_bang (cot1, cot2, cot3) VALUES (giatri1, giatri2, giatri3);

d)

UPDATE ten_bang SET cot = gia_tri

100.

Cập nhật toàn bộ bảng

a)

UPDATE ten_bang SET cot = gia_tri

b)

INSERT INTO ten_bang VALUES (...);

c)

INSERT INTO ten_bang (cot1, cot2, cot3) VALUES (giatri1, giatri2, giatri3);

d)

UPDATE ten_bang SET cot = gia_tri WHERE dieu_kien

101.

Câu lệnh sẽ bị lỗi nếu số giá trị không khớp với số cột.

a)

đúng

b)

sai

102.

 Có thể bỏ qua tên cột nếu nhập đủ giá trị theo đúng thứ tự bảng.

a)

đúng

b)

sai

103.

Cần đảm bảo thứ tự và kiểu lượng giá trị phù hợp với các cột nếu không khai báo tên cột.

a)

sai

b)

đúng

104.

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. Yêu cầu: Xác định đúng - sai với các phát biểu sau:

1. Có thể dùng SUM(Giá) trong WHERE để tính tổng giá trước khi lọc.

a)

đúng

b)

sai

105.

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. Yêu cầu: Xác định đúng - sai với các phát biểu sau:
Có thể dùng các toán tử như >, =, AND trong WHERE.

a)

đúng

b)

sai

106.

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. Yêu cầu: Xác định đúng - sai với các phát biểu sau:

WHERE lọc dữ liệu trước khi thực hiện phân nhóm (GROUP BY).

a)

đúng

b)

sai