Tải bản đầy đủ (.doc) (21 trang)

Trọn gói BT môn Ngôn ngữ truy vấn dữ liệu SQL Ehou+ Đáp án (luyện tập, kiểm tra, thi)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (83.84 KB, 21 trang )

Câu hỏi 1. Ngôn ngữ SQL gồm những thành phần ngôn ngữ nào?
Chọn một câu trả lời:
c. Ngôn ngữ định nghĩa dữ liệu, thao tác dữ liệu, điều khiển dữ liệu

Câu hỏi 2. Dòng code nào sau đây bị lỗi?
1 CREATE TABLE FRUITS_VEGETABLES
2 (FRUIT_TYPE VARCHAR2,
3 FRUIT_NAME CHAR (20),
4 QUANTITY NUMBER);
Chọn một câu trả lời:
c. Dòng 2

Câu hỏi 3. Lệnh nào không phải Data Definition Language?
c. SELECT

Câu hỏi 4. Tên cột nào sau đây là hợp lệ?
a. Tất cả đều sai
b. #Invoices
c. 1966_Invoices
d. Catch_#22

Câu hỏi 5. SQL là viết tắt của
Chọn một câu trả lời:
a. Structured Query Language

Câu hỏi 1. Phát biểu “dùng khi muốn đảm bảo việc nhập dữ liệu cho một thuộc tính nào đó phù hợp
tham chiếu tới một thuộc tính của bảng quan hệ khác” là chỉ ràng buộc nào?
Chọn một câu trả lời:
c. References



Câu hỏi 2. Các lưu ý khi sử dụng ràng buộc tham chiếu là gì?
Chọn một câu trả lời:
a. Tất cả các lựa chọn đều đúng
b. Muốn xóa cột có tồn tại ràng buộc/có tham chiếu khóa ngoài thì phải xóa ràng buộc hoặc khóa
ngoài
c. Nếu thêm ràng buộc cho bảng đã có dữ liệu thì các dữ liệu đã có không chịu tác động của ràng
buộc
d. Khi thêm cột vào bảng đã có ít nhất 1 bản ghi thì cột mới thêm phải cho phép nhận giá trị NULL
hoặc phải có giá trị mặc định

Câu hỏi 3. Ràng buộc Check được sử dụng với mục đích gì?
Chọn một câu trả lời:
b. Chỉ định điều kiện để kiểm tra hợp lệ đối với dữ liệu khi thực hiện thao tác cập nhật cho bảng

Câu hỏi 4. Ràng buộc Not Null được sử dụng với mục đích gì?
Chọn một câu trả lời:
c. Sử dụng nhằm bắt buộc phải nhập giá trị cho cột khi thêm dữ liệu vào bảng

Câu hỏi 5. Ràng buộc Primary Key được sử dụng với mục đích gì?
Chọn một câu trả lời:
a. Được dùng để định nghĩa khóa chính của bảng

Câu hỏi 6. Cho bảng SINHVIEN( MaSV, HoTen, NS, GioiTinh, DiemTB). Để tạo ràng buộc GioiTinh
chỉ nhận giá trị là ‘Nam’, ‘Nữ’ ta có lựa chọn
Chọn một câu trả lời:
a. Cả hai lựa chọn đều đúng
b. Cả hai lựa chọn đều sai
c. GioiTinh nvarchar(3) CHECK( GioiTinh = ‘Nam’ or GioiTinh = ‘Nữ’)
d. GioiTinh nvarchar(3) CHECK( GioiTinh in (‘Nam’, ‘Nữ’))


Câu hỏi 7. Cho bảng SINHVIEN( MaSV, HoTen, NS, GioiTinh, DiemTB). Câu lệnh để tạo bảng thỏa
mãn ràng buộc: Mã SV là khóa chính, Giới tính chỉ nhận giá trị Nam hoặc Nữ, Điểm TB mặc định là 2
Chọn một câu trả lời:
b. CREATE TABLE SINHVIEN( MaSV varchar PRIMARY KEY, HoTen nvarchar(30), NS
datetime, GioiTinh nvarchar(3) CHECK (GioiTinh in (‘Nam’, ‘Nữ’)), DiemTB float DEFAULT(2) )

Câu hỏi 8. Cho bảng SINHVIEN( MaSV, HoTen, NS, GioiTinh, DiemTB). Để cho phép giá trị của cột
Ngày sinh bắt buộc phải nhập cho các sinh viên ta có lựa chọn


Chọn một câu trả lời:
a. NS datetime NOT NULL

Câu hỏi 9. Cho bảng SINHVIEN( MaSV, HoTen, NS, GioiTinh, DiemTB, QueQuan). Để xóa cột Quê
quán của bảng ta thực hiện câu lệnh
Chọn một câu trả lời:
d. ALTER TABLE NHANVIEN DROP COLUMN QueQuan

Câu hỏi 10. Cho bảng SINHVIEN( MaSV, HoTen, NS, GioiTinh, DiemTB). Để thêm cột Quê quán vào
cuối bảng ta thực hiện câu lệnh
Chọn một câu trả lời:
a. ALTER TABLE NHANVIEN ADD QueQuan nvarchar(30)

Câu hỏi 6. Cho bảng SINHVIEN( MaSV, HoTen, NS, GioiTinh, DiemTB). Để tạo ràng buộc DiemTB
chỉ nhận giá trị từ 0 đến 10 ta có lựa chọn
Chọn một câu trả lời:
c. DiemTB float CHECK ( DiemTB>=0 and DiemTB<=10)

Câu hỏi 7. Khi thực hiện tạo bảng có mấy ràng buộc được sử dụng:
Chọn một câu trả lời:

a. 4
b. 6
c. 3
d. 5

Câu hỏi 3. Cú pháp để sửa đổi kiêu dữ liệu của một cột là gì?
Chọn một câu trả lời:
d. ALTER TABLE Tên_bảng
ALTER COLUMN Tên_cột Kiểu_dữ_liệu_mới

Câu hỏi 4. Khi tạo ràng buộc tham chiếu đến môt cột của bảng nào đó. Yều cầu cần đạt được là gì?
Chọn một câu trả lời:
b. Tên có thể khác nhau nhưng kiểu phải giống nhau

Câu hỏi 1. Ràng buộc Default được sử dụng với mục đích gì?
Chọn một câu trả lời:


d. Sử dụng nhằm xác định giá trị mặc định ban đầu cho cột

Câu hỏi 7. Cho bảng SINHVIEN( MaSV, HoTen, NS, GioiTinh, DiemTB). Để tạo ràng buộc MaSV là
khóa chính ta có lựa chọn
Chọn một câu trả lời:
a. MaSV varchar(9) PRIMARY KEY

Câu hỏi 9. Cú pháp để thêm cột mới vào một bảng là như thế nào
c. ALTER TABLE <tên bảng> ADD <tên cột> <Kiểu dữ liệu> [RBTV]

Câu hỏi 3. Cho bảng KHOA(MaKhoa, TenKhoa, DiaChi) và bảng SINHVIEN( MaSV, HoTen, NS,
GioiTinh, DiemTB, MaKhoa). Câu lệnh để tạo Bảng SINHVIEN có Mã khoa được tham chiếu tương ứng

từ bảng KHOA là?
Chọn một câu trả lời:
c. CREATE TABLE SINHVIEN( MaSV varchar(9) PRIMARY KEY, HoTen nvarchar(30), NS
datetime, GioiTinh nvarchar(3) DiemTB float), MaKhoa varchar(9) REFERENCES KHOA(MaKhoa))

LUYỆN TẬP 3
Câu hỏi 1. Cho bảng NHANVIEN( MaNV, HoTen, NgaySinh, HSL, QueQuan, MaPB). Câu lệnh để lấy
ra các nhân viên có họ “Trần” là gì?
Chọn một câu trả lời:
a. SELECT * FROM NHANVIEN WHERE HoTen like “Trần%”
b. SELECT * FROM NHANVIEN WHERE HoTen = “Trần%”
c. SELECT * FROM NHANVIEN
d. SELECT * FROM NHANVIEN WHERE HoTen like “Trần”

Câu hỏi 2. Khi thực hiện câu lệnh DELETE cần xác định thành phần nào?
Chọn một câu trả lời:
a. Tên bảng được xóa dữ liệu
b. Không có thành phần nào
c. Điều kiện chọn ra các dòng để xóa
d. Cả hai thành phần được liệt kê

Câu hỏi 5. Khi thực hiện câu lệnh INSERT cần xác định thành phần nào?


Chọn một câu trả lời:
a. Tất cả các thành phần được liệt kê
b. Các cột cần bổ sung dữ liệu
c. Dữ liệu được bổ sung vào
d. Tên bảng được bổ sung


Câu hỏi 3. Cho bảng SINHVIEN( MaSV, HoTen, NgaySinh, GioiTinh, DTB). Câu lệnh thực hiện tăng
thêm 0.5 vào ĐTB cho các sinh viên nam sinh vào năm 1994 là gì?
Chọn một câu trả lời:
c. UPDATE SINHVIEN
SET DTB = DTB + 0.5
WHERE GioiTinh = ‘Nam’ and year(NgaySinh) = 1994

Câu hỏi 4. Cho bảng NHANVIEN(MaNV, HoTen, NS, GioiTinh, Luong, MaPB). Câu lệnh sau đây làm
gì?
Select count(MaNV), sum(Luong) from NHANVIEN where Gioitinh = N’Nữ’
Chọn một câu trả lời:
a. Đếm và tính tổng lương các nhân viên Nam
b. Tất cả các phương án đều đúng
c. Đếm và tính tổng lương của các nhân viên nữ
d. Đếm và tính tổng lương các nhân viên

Câu hỏi 5. Cho câu lệnh tạo bảng SINHVIEN như sau:
CREATE TABLE SINHVIEN(
MaSV varchar PRIMARY KEY, HoTen nvarchar(30),
NS datetime,
GioiTinh nvarchar(3) CHECK (GioiTinh in (‘Nam’, ‘Nữ’)),
DiemTB float DEFAULT(2) ).
Chọn câu lệnh đúng để chèn thêm dữ liệu vào bảng SINH VIÊN.
Chọn một câu trả lời:
a. INSERT INTO SINHVIEN VALUES(‘01’, ‘Đào Lan’, ‘3/4/84’, ‘Nữ’, ‘Tám’)
b. INSERT INTO SINHVIEN VALUES(‘01’, ‘Đào Lan’, ‘3/4/84’, ‘Nữ’, 8)
c. INSERT INTO SINHVIEN VALUES(‘01’, ‘Đào Lan’, ‘Nữ’, ‘3/4/84’, 8)


d. INSERT INTO SINHVIEN VALUES(‘01’, ‘Đào Lan’, ‘Nữ’, 8)


Câu hỏi 6. Cho bảng NHANVIEN(MaNV, HoTen, NS, HSL, Quequan,…). Câu lệnh cho biết tên nhân
viên có lương thấp nhất
Chọn một câu trả lời:
a. Tất cả đều đúng
b. Select HoTen from NHANVIEN
c. Select HoTen from NHANVIEN where HSL = min(HSL)
d. Select Hoten from NHANVIEN where HSL<= (select min(HSL) from NHANVIEN)

Câu hỏi 7. Cho bảng SINHVIEN( MaSV, HoTen, NgaySinh, GioiTinh, DTB). Câu lệnh để thực hiện
xóa các sinh viên nữ là gì?
Chọn một câu trả lời:
a. DELETE SINHVIEN
WHERE GioiTinh = ‘Nữ’
b. DELETE FROM SINHVIEN
c. DELETE FROM SINHVIEN
WHERE GioiTinh is ‘Nữ’
d. DELETE FROM SINHVIEN
WHERE GioiTinh = ‘Nữ’

Câu hỏi 8. Cú pháp của lệnh SELECT đơn giản là gì?
Chọn một câu trả lời:
a. Tất cả các lựa chọn đều đúng
b. SELECT <DS thuộc tính>
[WHERE <điều kiện>]
FROM <Tên bảng>

SAI

c. SELECT <DS thuộc tính>

FROM <Tên bảng>
[WHERE <điều kiện>]

ĐÚNG

d. SELECT <DS thuộc tính>
[WHERE <điều kiện>]

Câu hỏi 9. Cho bảng NHANVIEN(MaNV, HoTen, NS, GioiTinh, Luong, MaPB). Câu lệnh để đếm và
tính tổng lương của nhân viên nữ
Chọn một câu trả lời:
a. Select sum(Luong) from NHANVIEN where GioiTinh = ‘Nữ’
b. Select count(MaNV), sum(Luong) from NHANVIEN where GioiTinh = ‘Nữ’


c. Select count(MaNV) from NHANVIEN where GioiTinh = ‘Nữ’
d. Select count(MaNV), sum(Luong) from NHANVIEN

Câu hỏi 10. NHANVIEN(MaNV, HoTen, NS, GioiTinh, Luong, MaPB) và PHONGBAN(MaPB,
TenPB, DiaChi). Câu lệnh truy vấn sau làm gì?
Select TenPB, count(MaNV) from PHONGBAN, NHANVIEN where PHONGBAN.MaPB =
NHANVIEN.MaPB group by TenPB
Chọn một câu trả lời:
a. Tất cả các phương án đều sai
b. Tính tổng số nhân viên
c. Tính tổng số nhân viên của từng phòng ban
d. Tính tổng số nhân viên của từng phòng ban, thông kê theo tên phòng ban

Câu hỏi 1. Cho bảng NHANVIEN( MaNV, HoTen, NgaySinh, HSL, QueQuan, MaPB). Câu lệnh để lấy
ra các nhân viên Nam có hệ số lương từ 3 đến 7 là gì?

Chọn một câu trả lời:
a. SELECT * FROM NHANVIEN WHERE GioiTinh = ‘Nam’ and HSL >=3 and HSL <=7
b. Cả hai lựa chọn đều sai
c. Cả hai lựa chọn đều đúng

ĐÚNG

d. SELECT * FROM NHANVIEN WHERE GioiTinh = ‘Nam’ and HSL between 3 and 7

Câu hỏi 9. Cho bảng SINHVIEN( MaSV, HoTen, NgaySinh, GioiTinh, DTB). Câu lệnh để lấy ra danh
sách gồm: mã sinh viên, họ tên và ngày sinh các sinh viên là gì?
Chọn một câu trả lời:
a. SELECT MaSV, HoTen, NgaySinh FROM SINHVIEN
WHERE GioiTinh=’Nữ’
b. SELECT MaSV, HoTen, NgaySinh
c. SELECT * FROM SINHVIEN
d. SELECT MaSV, HoTen, NgaySinh FROM SINHVIEN

Câu hỏi 2. Cho bảng SINHVIEN( MaSV, HoTen, NgaySinh, GioiTinh, DTB). Câu lệnh thực hiện xóa
các sinh viên nam sinh vào năm 1994 là gì?
Chọn một câu trả lời:
a. DELETE FROM SINHVIEN
WHERE year(NgaySinh) = 1994
b. DELETE FROM SINHVIEN
WHERE GioiTinh = ‘Nam’ and year = 1994


c. DELETE FROM SINHVIEN
WHERE GioiTinh = ‘Nam’
d. DELETE FROM SINHVIEN

WHERE GioiTinh = ‘Nam’ and year(NgaySinh) = 1994

Câu hỏi 3. Mô tả câu hỏi
Mục đích của câu lệnh SELECT là gì?
Chọn một câu trả lời:
a. Được sử dụng để truy xuất lấy dữ liệu từ các dòng, các cột của một hay nhiều bảng
b. Dùng để thay đổi dữ liệu của bảng một cách tự động dựa vào điều kiện nào đó SAI
c. Dùng để bổ sung thêm dữ liệu vào bảng
d. Dùng để xóa dữ liệu của bảng một cách tự động dựa vào điều kiện nào đó

Câu hỏi 7. Cho 2 bảng NHANVIEN(MaNV, HoTen, NS, GioiTinh, Luong, MaPB) và
PHONGBAN(MaPB, TenPB, DiaChi). Câu lệnh sau làm gì?
Select HoTen, TenPB from NHANVIEN, PHONGBAN where NHANVIEN.MaPB =
PHONGBAN.MaPB and DiaChi like ‘% Thanh Xuân%’
Chọn một câu trả lời:
a. Cả hai đều đúng
b. Cho danh sách các nhân viên có địa chỉ ở Thanh Xuân
c. Cho danh sách gồm Họ tên và tên phòng ban của các nhân viên của phòng ban có địa chỉ ở Thanh
Xuân
d. Cả hai đều sai

Câu hỏi 9. Khi thực hiện câu lệnh UPDATE cần xác định thành phần nào?
Chọn một câu trả lời:
a. Tên bảng được thay đổi
b. Các cột cần thay đổi và giá trị mới được thay đổi
c. Điều kiện chọn các dòng được thay đổi
d. Tất cả các thành phần được liệt kê

Câu hỏi 10. Cho bảng NHANVIEN(MaNV, HoTen, NS, GioiTinh, Luong, MaPB). Câu lệnh sau đây
làm gì?

Select max(year(getdate()) – year(NS)) from NHANVIEN
Chọn một câu trả lời:
a. Cho biết tuổi của các nhân viên


b. Cho biết tuổi cao nhất của các nhân viên
c. Cho biết tuổi cao nhất của các nhân viên nữ
d. Cho biết tuổi thấp nhất của các nhân viên

Câu hỏi 2. Mục đích của câu lệnh UPDATE là gì?
Chọn một câu trả lời:
a. Được sử dụng để truy xuất lấy dữ liệu từ các dòng, các cột của một hay nhiều bảng
b. Dùng để thay đổi dữ liệu của bảng một cách tự động dựa vào điều kiện nào đó
c. Dùng để xóa dữ liệu của bảng một cách tự động dựa vào điều kiện nào đó
d. Dùng để bổ sung thêm dữ liệu vào bảng

Câu hỏi 5. Cho bảng SINHVIEN( MaSV, HoTen, NgaySinh, GioiTinh, DTB, HocBong). Câu lệnh để
thực hiện tăng thêm 0.5 vào ĐTB và Học bổng tăng 100000 cho các sinh viên Nam
Chọn một câu trả lời:
a. UPDATE SINHVIEN
SET DTB = DTB + 0.5 and HocBong = HocBong + 100000

SAI

WHERE GioiTinh = ‘Nam’
b. UPDATE SINHVIEN
SET DTB = DTB + 0.5, HocBong = HocBong + 100000
WHERE GioiTinh = ‘Nam’

đúng


c. UPDATE SINHVIEN
WHERE GioiTinh = ‘Nam’
d. UPDATE SINHVIEN
SET DTB = DTB + 0.5, HocBong = HocBong + 100000

Câu hỏi 6. Cho bảng NHANVIEN( MaNV, HoTen, NgaySinh, HSL, QueQuan, MaPB). Câu lệnh để lấy
ra các nhân viên có họ “Trần” và sinh năm 1985 là gì?
Chọn một câu trả lời:
a. SELECT * FROM NHANVIEN WHERE HoTen like “Trần%” , year(NgaySinh) = 1985
b. SELECT * FROM NHANVIEN WHERE HoTen like “Trần%” and year(NgaySinh) = 1985
c. SELECT * FROM NHANVIEN WHERE year(NgaySinh) = 1985
d. SELECT * FROM NHANVIEN WHERE HoTen like “Trần%” and NgaySinh = 1985

Câu hỏi 8. Cho bảng SINHVIEN( MaSV, HoTen, NgaySinh, GioiTinh, DTB). Câu lệnh để thực hiện
tăng thêm 0.5 vào ĐTB cho các sinh viên nữ là gì?
Chọn một câu trả lời:


d. UPDATE SINHVIEN
SET DTB = DTB + 0.5
WHERE GioiTinh = ‘Nữ’

Câu hỏi 6. Cho bảng NHANVIEN( MaNV, HoTen, NgaySinh, HSL, QueQuan, MaPB). Câu lệnh để lấy
ra các nhân viên không có họ “Trần” là gì?
Chọn một câu trả lời:
c. SELECT * FROM NHANVIEN WHERE HoTen not like “Trần%”

Câu hỏi 8. Cho bảng NHANVIEN(MaNV, HoTen, NS, HSL, Quequan,…). Câu lệnh cho biết tên nhân
viên có lương cao nhất

Chọn một câu trả lời:
c. Select Hoten from NHANVIEN where HSL>= (select max(HSL) from NHANVIEN)

Câu hỏi 10. Cho bảng SINHVIEN( MaSV, HoTen, NgaySinh, GioiTinh, DTB). Câu lệnh để lấy ra danh
sách gồm: mã sinh viên, họ tên và ngày sinh của các sinh viên Nam là gì?
Chọn một câu trả lời:
a. SELECT MaSV, HoTen, NgaySinh FROM SINHVIEN
WHERE GioiTinh = ‘Nam’

Câu hỏi 2. Cho bảng NHANVIEN(MaNV, HoTen, NS, GioiTinh, Luong, MaPB). Câu lệnh để đếm số
nhân viên của từng phòng ban?
Chọn một câu trả lời:
d. Select MaPB, count(MaNV) as SoNV from NHANVIEN group by MaPB

LUYỆN TẬP 4
Câu hỏi 1. Mệnh đề nào không được sử dụng trong truy vấn SELECT của view?
Chọn một câu trả lời:
a. INTO

Câu hỏi 2. Truy vấn tạo View nào sau đây là đúng?
Chọn một câu trả lời:
d. CREATE VIEW TestAS
SELECT *
FROM DEAN

Câu hỏi 3. Truy vấn nào không thực hiện được trên View sau


CREATE VIEW Test
AS

SELECT MaNV, Hoten, Ngaysinh
FROM NHANVIEN
WHERE Year(Ngaysinh)<1990
WITH CHECK OPTION
Chọn một câu trả lời:
a. SELECT Gioitinh
FROM Test

ĐÚNG

Câu hỏi 4. Phát biểu nào sau đây là đúng?
Chọn một câu trả lời:
a. View chứa dữ liệu
b. Table và View đều chứa dữ liệu
c. View không chứa dữ liệu
d. Table không chứa dữ liệu

Câu hỏi 5. Trong View, nếu có mệnh đề ORDER BY thì phải có sử dụng kèm theo từ khoá nào?
Chọn một câu trả lời:
d. TOP …

Câu hỏi 6. Từ khoá nào sau đây được dùng khi tạo View?
Chọn một câu trả lời:
c. CREATE

Câu hỏi 7. Dữ liệu thêm vào View phải thoả mãn điều kiện gì?
Chọn một câu trả lời:
c. Các ràng buộc ở bảng nguồn của View và điều kiện lấy dữ liệu của view nếu có sử dụng WITH
CHECK OPTION


Câu hỏi 8. Truy vấn nào không thực hiện được trên View sau
CREATE VIEW Test
AS


SELECT MaNV, Hoten, Ngaysinh
FROM NHANVIEN
WHERE Year(Ngaysinh)<1990
WITH CHECK OPTION
Chọn một câu trả lời:
c. UPDATE Test
SET Ngaysinh=’09-Dec-2003’
WHERE MaNV=’x’

ĐÚNG

Câu hỏi 5. Truy vấn nào không thực hiện được trên view sau:
CREATE VIEW Test
AS
SELECT DISTINCT Year(Ngaysinh) AS Namsinh
FROM NHANVIEN
Chọn một câu trả lời:
a. UDPATE Test
SET Namsinh=2014

SAI

WHERE Namsinh<2014
b. INSERT INTO Test
VALUES (2014)


SAI

c. DELETE
FROM Test

SAI

d. Cả 3 phương án đều đúng

ĐÚNG

Câu hỏi 9. Để xem dữ liệu của view có tên là vTest, ta dùng truy vấn nào sau đây?
Chọn một câu trả lời:
b. SELECT *FROM vTest

Câu hỏi 10. Từ khoá nào sau đây không dùng khi tạo View?
Chọn một câu trả lời:
b. SET

Câu hỏi 1. Truy vấn nào được sử dụng trong nội dung View


Chọn một câu trả lời:
d. SELECT

Câu hỏi 4. Trật tự các bản ghi trên View được quyết định bởi?
Chọn một câu trả lời:
c. Truy vấn lấy dữ liệu của View ĐÚNG


Câu hỏi 7. Không sửa được giá trị ở cột (trường) nào của View sau:
CREATE VIEW Test
AS
SELECT MaNV, Hoten, Year(Ngaysinh) AS NamsinhFROM NHANVIEN
Chọn một câu trả lời:
c. Namsinh

Câu hỏi 4. Truy vấn sửa View nào sau đây là đúng?
Chọn một câu trả lời:
d. ALTER VIEW Test

ĐÚNG

AS
SELECT MaDAFROM DEAN

Câu hỏi 7. View có thể được sử dụng để
Chọn một câu trả lời:
a. Thay đổi cách nhìn với dữ liệu trong các bảng
b. Phân cấp truy cập đến dữ liệu ở mức trường
c. Phân cấp truy cập đến dữ liệu ở mức bản ghi
d. Cả 3 phương án đều đúng

Câu hỏi 8. Điều gì xảy ra sau khi ta xoá 1 bản ghi trên View?
Chọn một câu trả lời:
b. Bản ghi ở bảng nguồn bị xoá

ĐÚNG

Câu hỏi 10. Dữ liệu sẽ được lưu ở đâu sau khi ta thêm dữ liệu qua 1 view?

Chọn một câu trả lời:
a. Trong bảng nguồn của View

ĐÚNG

Câu hỏi 3. Truy vấn xoá View nào sau đây là đúng?


Chọn một câu trả lời:
d. DROP VIEW Test

Câu hỏi 3. Truy vấn nào không thực hiện được trên View sau:
CREATE VIEW Test
AS
SELECT COUNT(MaNV) AS SoNV
FROM NHANVIEN
WHERE Year(Ngaysinh)=1990
Chọn một câu trả lời:
a. DELETE
FROM Test

SAI

b. UPDATE Test
SET SoNV=19

SAI

c. INSERT INTO Test


SAI

VALUES(20)
d. Cả 3 phương án đều đúng

ĐÚNG

Câu hỏi 1
Truy vấn nào sau đây tạo được Stored Procedure trả ra được giá trị lớn nhất trong 3 tham số truyền vào?
Chọn một câu trả lời:
b. CREATE PROCEDURE spMax
@a INT, @b INT, @c INT
AS
IF @a<@b
SET @a=@b
IF @a<@c
SET @a=@c
RETURN @a;

Câu hỏi 2
Cho bảng HANGHOA(MaHH, TenHH, DonGia) và CT_HOADON(MaHD, MaHH, SoLuong). Câu lệnh
sau làm gì?
SELECT TenHang, Sum(SoLuong*DonGia)
FROM CT_HOADON, HANGHOA
WHERE CT_HOADON.MaHH= HANGHOA.MaHH


GROUP BY TenHang HAVING sum(SoLuong*DonGia)>10000000
Chọn một câu trả lời:
c. Cho biết tên và tổng số tiền hàng đã bán của các mặt hàng mà đã bán được trên 10 triệu


Câu hỏi 3
Stored Procedure Test có lệnh cuối cùng là: RETURN 1
Truy vấn gọi thực thi nào sau đây là đúng và lấy được giá trị trả về từ Stored Procedure Test?
Chọn một câu trả lời:
d. DECLARE @x INT;
EXECUTE @x=Test ;
SELECT @x;

Câu hỏi 7
Hiệu quả của việc chỉ ra WITH ENCRYPTION trong khi tạo Stored Procedure là gì?
Chọn một câu trả lời:
c. Nội dung của Stored Procedure được mã hoá khi lưu

Câu hỏi 8
Cú pháp nào sau đây dùng để thực thi (chạy) Stored Procedure có tên là “Test”?
Chọn một câu trả lời:
a. EXECUTE Test

ĐÚNG

Câu hỏi 9
Truy vấn nào sau đây dùng để thực thi Stored Procedure Test tạo bởi truy vấn:
CREATE PROCEDURE Test
@a char(9)
AS
SELECT * FROM DEANWHERE MaDA=@a
Chọn một câu trả lời:
a. EXECUTE Test @a= ‘DA01234567’
b. Tất cả các phương án đều đúng

c. EXECUTE Test ‘DA01234567’

Câu hỏi 18


Cho bảng HANGHOA(MaHH, TenHH, DonGia) và CT_HOADON(MaHD, MaHH, SoLuong). Câu lệnh
sau làm gì?

SELECT TenHang, Sum(SoLuong*DonGia)
FROM CT_HOADON, HANGHOA
WHERE CT_HOADON.MaHH= HANGHOA.MaHH
GROUP BY TenHang
Chọn một câu trả lời:
b. Tính tổng số tiền đã bán hàng của từng mặt hàng, thống kê theo tên hàng

Câu hỏi 19
Cú pháp nào sau đây dùng để tạo Stored Procedure có tên là “Test”?
Chọn một câu trả lời:
c. CREATE PROCEDURE Test

Câu hỏi 20
Mục đích của câu lệnh DELETE là gì?
Chọn một câu trả lời:
a. Dùng để xóa dữ liệu của bảng một cách tự động dựa vào điều kiện nào đó
b. Dùng để thay đổi dữ liệu của bảng một cách tự động dựa vào điều kiện nào đó
c. Dùng để bổ sung thêm dữ liệu vào bảng
d. Được sử dụng để truy xuất lấy dữ liệu từ các dòng, các cột của một hay nhiều bảng

Câu hỏi 6
Truy vấn sau đây sai cú pháp, hãy giải thích tại sao?

CREATE PROCEDURE Test
SELECT *FROM NHANVIEN
Chọn một câu trả lời:
a. Thiếu từ khoá “AS” trước truy vấn SELECT

Câu hỏi 7


Truy vấn nào sau đây tạo được Stored Procedure cho xem (lấy) danh sách các nhân viên ít tuổi nhất?
Chọn một câu trả lời:
a. CREATE PROCEDURE spNhanvienTre
AS
BEGIN
DECLARE @m INT;
SELECT @m=MAX(YEAR(Ngaysinh)) FROM NHANVIEN;
SELECT *FROM NHANVIENWHERE YEAR(Ngaysinh)=@m;
END

Câu hỏi 9
Truy vấn nào không thực hiện được trên View sau:
CREATE VIEW Test
AS
SELECT COUNT(MaNV) AS SoNV
FROM NHANVIEN
WHERE Year(Ngaysinh)=1990
Chọn một câu trả lời:
a. DELETE
FROM Test
b. INSERT INTO Test
VALUES(20)

c. UPDATE Test
SET SoNV=19
d. Cả 3 phương án đều đúng

Câu hỏi 11
Đâu là định nghĩa của truy vấn tương quan
Chọn một câu trả lời:
b. Trong mệnh đề WHERE của truy vấn con tham chiếu ít nhất một thuộc tính của các quan hệ
trong mệnh đề FROM ở truy vấn cha

Câu hỏi 19
Cú pháp nào sau đây dùng để xoá Stored Procedure có tên là “Test”?
Chọn một câu trả lời:


d. DROP PROCEDURE Test

Câu hỏi 20
Để truy vấn dữ liệu từ nhiều bảng có thể thực hiện qua cách nào?
Chọn một câu trả lời:
a. Thông qua mệnh đề Where
b. Cả hai lựa chọn đều đúng
c. Cả hai lựa chọn đều sai
d. Thông qua liên kết Join

Câu hỏi 1
Cho bảng HANGHOA(MaHH, TenHH, DonGia) và CT_HOADON(MaHD, MaHH, SoLuong). Câu lệnh
để tính tổng tiền đã bán của từng mặt hành là gì, thống kê theo tên hàng
Chọn một câu trả lời:
a. SELECT TenHang, Sum(SoLuong*DonGia)

FROM CT_HOADON, HANGHOA
WHERE CT_HOADON.MaHH= HANGHOA.MaHH
GROUP BY TenHang

Câu hỏi 8
Giả sử đã có bảng tblTemp với cấu trúc giống bảng Nhanvien nhưng không thiết lập khoá chính.
Ý nghĩa của Stored Procedure sau là gì?
CREATE PROCEDURE spTest
@t INT
AS
WHILE @t>0
BEGIN
SET @t=@t-1
INSERT INTO tblTemp
SELECT TOP 1 *
FROM NHANVIEN


WHERE (YEAR(GETDATE())-YEAR(Ngaysinh))%@t=0;END
Chọn một câu trả lời:
a. Thực hiện @t lần lặp. Trong mỗi lần lặp:
(1): giảm @t 1 đơn vị

Câu hỏi 16
Câu trả lời không đúng
Cú pháp nào sau đây dùng để sửa Stored Procedure có tên là “Test”?
Chọn một câu trả lời:
a. ALTER STORED PROCEDURE Test SAI
…..
b. ALTER PROCEDURE Test

…..
c. EDIT STORED Test

SAI

…..
d. ALTER STORED Test
…..

Câu hỏi 14
Truy vấn nào sau đây tạo ra một Stored Procedure lấy danh sách nhân viên theo giới tính chưa biết trước
ở tại thời điểm thiết kế?
Chọn một câu trả lời:
b. CREATE PROCEDURE Test
@b NVARCHAR(3)
AS
SELECT *
FROM NHANVIEN
WHERE GT=@b

Câu hỏi 6
Phát biểu nào sau đây là sai về Stored Procedure?
Chọn một câu trả lời:
b. Stored Procedure chỉ làm việc được với các giá trị cố định

Câu hỏi 15
Mệnh đề group by trong câu lệnh SELECT được sử dụng với mục đích gì?


Chọn một câu trả lời:

d. Để thực hiện gom nhóm các bộ theo một tiêu chí xác định để thực hiện tính toán

Câu hỏi 2
Đoạn chương trình nào sau đây kiểm tra nếu @MaPhong không bắt đầu bằng ‘P’ thì thông báo “Lỗi mã”
và dừng thực thi Stored Procedure?
Chọn một câu trả lời:
b. IF @MaPhong NOT LIKE ‘P%’
BEGIN
PRINT N‘Lỗi mã’
RETURN
END

Câu hỏi 6
Câu lệnh nào sau đây sẽ kết thúc việc thực hiện trong Stored Procedure?
Chọn một câu trả lời:
c. RETURN

Câu hỏi 18
Mệnh đề order by trong câu lệnh SELECT được sử dụng với mục đích gì?
Chọn một câu trả lời:
a. Để hiển thị kết quả câu truy vấn theo một thứ tự nào đó trên các cột

Câu hỏi 20
Có những kiểu truy vấn join nào khi lấy dữ liệu từ nhiều bảng
Chọn một câu trả lời:
a. Inner Join
b. Tất cả các lựa chọn đều đúng
c. Left Join
d. Right Join


Câu hỏi 2
Có những kiểu truy vấn lồng nào?
Chọn một câu trả lời:
a. Lồng tương quan


b. Cả hai loại đều đúng
c. Lồng phân cấp
d. Cả hai loại đều sai

Câu hỏi 12
Tại sao Stored Procedure được Hệ quản trị thực thi nhanh hơn?
Chọn một câu trả lời:
a. Vì chúng được Hệ quản trị dịch sẵn ở lần thực thi đầu tiên, các lần thực thi sau không phải dịch lại
nữa.



×