N
Ðề: Thi tuyển công chức Chuyên viên làm công nghệ thông tin năm 2012 -Chi Cục thuể
Mình đang cập nhật bài trắc nghiệm SQL, bạn nào có sẵn bộ đề & đáp án gửi cho mình để mình cập nhật giúp các bạn khác thi thử.
Sau đây là một số câu trắc nghiệm về SQL, các bạn giải thử nhé :
Câu 1:
Để thêm một cột (tên trigia có kiểu float) vào bảng HOADON thì câu lệnh nào dưới đây là đúng:
a. Alter table hoadon
Add column trigia float
b. Alter table hoadon
Add trigia as float
c. Alter table hoadon
Add trigia float
d. Cả 3 câu trên đều sai
Câu 2:
Để tắt bỏ một Constraint (tên Fk_ctdondh_mahh) bên trong bảng CTDONDH thì câu lệnh nào dưới đây là đúng:
a. Alter table ctdondh
Nocheck Constraint All
b. Alter table ctdondh
Nocheck Constraint Fk_ctdon_mahh
c. Các câu a và b đều sai
d. Các câu a và b đều đúng
Câu 3:
Để thêm một công việc vào bảng congviec có cấu trúc (macv int identity(1,1),tencv varchar(50), dongia float) thì câu lệnh nào dưới đây là đúng:
a. Insert into congviec(macv,tencv,dongia) values (1,Tưới cây,20000)
b. Insert into congviec(tencv,dongia) values (Tưới cây,20000)
c. Insert into congviec(tencv,dongia) values (Tưới cây,20000)
d. Cả 3 câu trên đều sai
Câu 4:
Để xóa công việc Tưới cây trong bảng CONGVIEC có cấu trúc (macv int identity(1,1),tencv varchar(50), dongia float) thì câu lệnh nào dưới đây là đúng:
a. Delete * from congviec where tencv=Tưới cây
b. Delete from congviec where tencv=Tưới cây
c. Các câu a và b đều đúng
d. Các câu a và b đều sai
Câu 5:
Để hiển thị thông tin ngày đặt hàng trong bảng đơn dặt hàng có cấu trúc (sohd char(4),ngaydh datetime,manhacc char(3)) theo dạng dd/mm/yyyy thì câu lệnh nào dưới đây là đúng:
a. Select sodh, convert(char(10),ngaydh,103) as ngay from dondh
b. Select sodh, convert(char(10),ngaydh,121) as ngay from dondh
c. Select sodh, convert(char(6),ngaydh,112) as ngay from dondh
d. Cả 3 câu trên đều sai
Câu 6:
Để thống kê số lần đặt hàng theo từng nhà cung cấp (giả thiết ta có bảng dondh có cấu trúc sau (sohd char(4),ngaydh datetime,manhacc char(3)), thì câu lệnh nào dưới đây là đúng:
a. Select sodh, convert(char(10),ngaydh,103) as ngay,manhacc
from dondh
compute count(sodh) by manhacc
b. Select sodh, convert(char(10),ngaydh,103) as ngay,manhacc
from dondh
order by manhacc
compute count(sodh) by manhacc
c. Select sodh, convert(char(10),ngaydh,103) as ngay,manhacc
from dondh
order by manhacc
compute sum(sodh) by manhacc
d. Cả 3 câu trên đều sai
Câu 7:
Thứ tự sắp xếp nào là đúng trong các câu lệnh Select sau:
a. Select, From, Where, Group by, Having, Order by
b. Select, From, Where ,Order by, Group by, Having
c. Select, From, Where, Having, Group by, Order by
d. Select, From, Where, Having, Order by, Group by
Câu 8:
Thứ tự sắp xếp nào là đúng trong cú pháp câu lệnh để tạo Constraint :
1: Add constraint
2: Alter table
3: Foreign key
a. 1,2,3
b. 2,1,3
c. 3,2,1
d. 3,1,2
Câu 9:
Thủ tục nội tại spud_TinhSLDat dùng để tính số lượng đặt của một vật tư trong một đơn đặt hàng. Mô
tả các tham số thủ tục:
Tên tham số Ý nghĩa
@SoDH Số đặt hàng INPUT
@MaVT Mã vật tư INPUT
@SlDat Số lượng đặt OUTPUT
Trong các trường hợp gọi thực hiện thủ tục spud_TinhSLDat dười đây thì trường hợp nào là ĐÚNG:
a) DECLARE @Sl_Dat INT
EXEC spud_TinhSLDat @SoDH=’D001’, @MaVT=’DD02’, @Sl_Dat=@SlDat OUTPUT
b) DECLARE @Sl_Dat INT
EXEC spud_TinhSLDat @SoDH=’D001’, @MaVT=’DD02’, @Sl_Dat=@SlDat
c) DECLARE @Sl_Dat INT
EXEC spud_TinhSLDat ’D001’, ’DD02’, @SlDat=@Sl_Dat OUTPUT
d) EXEC spud_TinhSLDat @SoDH=’D001’, @MaVT=’DD02’, @SlDat=@Sl_Dat
Câu 10:
Xét bảng SINH_VIEN(masv, ho, ten, makh).
Tên cột Ý nghĩa
Masv Mã sinh viên
Makh Mã khoa
Để tạo ra bảng Khoa_TH chứa các sinh viên đang học khoa Tin học thì câu lệnh nào dưới đây là ĐÚNG:
a) CREATE TABLE Khoa_TH AS SELECT masv, ho, ten FROM Sinh_Vien WHERE makh='TH'
b) SELECT masv, ho, ten INTO Khoa_TH FROM Sinh_Vien
c) SELECT masv, ho, ten INTO Khoa_TH WHERE makh='TH'
d) SELECT masv, ho, ten INTO Khoa_TH FROM Sinh_Vien WHERE makh='TH'
Câu 11:
Trong SQL Server, để in ra tháng hiện hành, câu lệnh nào dưới đây là ĐÚNG:
a) PRINT DATEPART(m,GETDATE)
b) PRINT DATEPART(mm,GETDATE)
c) PRINT DATEPART(“mm”,GETDATE())
d) PRINT DATEPART(mm,GETDATE())
Câu 12:
Chọn đoạn lệnh sau:
Declare @strTenHang varchar(100), @intDonGia int
Set @strTenHang='Tivi Samsung' , @intDonGia=5000000
Print @strTenHang + ' ' + Cast(@intDonGia as varchar(5))
Giá trị được in trong cửa sổ kết quả của Query Anlyzer sau khi thực thi đoạn lệnh trên là:
a) Tivi Samsung *
b) Tivi Samsung 50000
c) Trong cửa sổ kết quả sẽ xuất thông báo lỗi vì đoạn lệnh trên không đúng cú pháp
d) Tivi Samsung 5000000
Câu 13:
Các biến hệ thống nào sau đây không có trong SQL Server
a) @@Error
b) @@Rowcount
c) @@FetchStatus
d) @@Version
Câu 14:
Câu lệnh tạo view nào dưới đây là ĐÚNG:
a) CREATE VIEW v_SinhVien AS
SELECT sv.*, kh.tenkh
FROM Sinh_Vien sv INNER JOIN Khoa kh ON sv.makh=kh.makh ORDER BY sv.makh
b) CREATE VIEW v_SinhVien AS
SELECT sv.*, kh.tenkh
FROM Sinh_Vien sv INNER JOIN Khoa kh ON sv.makh=kh.makh ORDER BY makh
c) CREATE VIEW v_SinhVien AS
SELECT sv.*, kh.tenkh
FROM Sinh_Vien sv INNER JOIN Khoa kh ON sv.makh=kh.makh ORDER BY kh.makh
d) Các câu a,b và c đều sai.
Câu 15:
Để khai báo cursor sử dụng cho việc đọc dữ liệu theo mọi chiều di chuyển (first, prior, next, last) thì từ
khoá nào khai báo dưới đây là ĐÚNG:
a) READ_ONLY
b) SCROLL
c) SCROLL_LOCK
d) FORWARD_ONLY
Câu 16:
Chọn đoạn lệnh sau:
Declare @so int
Set @so=11
While @so <= 15
Begin
Set @so = @so + 1
If @so % 2=0
Set @so = @so + 2
Break
End
Print Cast(@so as char(10))
Giá trị được in trong cửa sổ kết quả của Query Anlyzer sau khi thực thi đoạn lệnh trên là:
a) 12
b) 14
c) 13
d) 15
Câu 17:
Câu lệnh xoá cột trong bảng nào dưới đây là ĐÚNG cú pháp:
a) ALTER TABLE <tên bảng> DROP COLUMN ALL
b) ALTER TABLE <tên bảng> DROP COLUMN <tên cột>
c) ALTER TABLE <tên bảng> DROP <tên cột>
d) Các câu a,b và c đều sai
Câu 18:
Xét bảng DONDH(sodh,ngay,mancc) và bảng NHACC(mancc,tenncc), có ràng buộc khoá ngoại
DONDH[mancc] ⊆ NHACC[mancc]. Để liệt kê các nhà cung cấp nào mà chưa có đơn đặt hàng thì các
câu lệnh truy vấn nào dưới đây là ĐÚNG (chọn 2 câu ĐÚNG):
a) SELECT n.mancc,tenncc FROM Nhacc n LEFT JOIN DonDH d ON n.mancc=d.mancc WHERE
d.mancc IS NULL
b) SELECT n.mancc,tenncc FROM Nhacc n LEFT JOIN DonDH d ON n.mancc=d.mancc WHERE
n.mancc IS NULL
c) SELECT mancc,tenncc FROM Nhacc WHERE mancc NOT IN (SELECT * FROM DonDH)
d) SELECT mancc,tenncc FROM Nhacc WHERE mancc NOT IN (SELECT mancc FROM DonDH)
Câu 19:
Xét bảng SINH_VIEN(masv, ho, ten, makh) và bảng KET_QUA(masv, mamh, diem).
Tên cột Ý nghĩa
Masv Mã sinh viên
Makh Mã khoa
Mamh Mã môn
Diem Điểm số
Để liệt kê các sinh viên trong khoa TH có điểm trung bình tất cả các môn theo thứ tự tăng thì câu lệnh
truy vấn nào dưới đây là ĐÚNG:
a) SELECT Ket_Qua.masv,ho,ten,AVG(diem) FROM Ket_Qua INNER JOIN Sinh_Vien ON
Ket_Qua.masv=Sinh_Vien.masv WHERE makh='TH' GROUP BY Ket_Qua.masv,ho,ten ORDER
BY AVG(diem) DESC
b) SELECT Ket_Qua.masv,ho,ten,AVG(diem) FROM Ket_Qua INNER JOIN Sinh_Vien ON
Ket_Qua.masv=Sinh_Vien.masv WHERE makh='TH' GROUP BY Ket_Qua.masv ORDER BY
AVG(diem)
c) SELECT masv,ho,ten,AVG(diem) FROM Ket_Qua INNER JOIN Sinh_Vien ON
Ket_Qua.masv=Sinh_Vien.masv WHERE makh='TH' GROUP BY masv ORDER BY AVG(diem)
d) SELECT Ket_Qua.masv,ho,ten,AVG(diem) FROM Ket_Qua INNER JOIN Sinh_Vien ON
Ket_Qua.masv=Sinh_Vien.masv WHERE makh='TH' GROUP BY Ket_Qua.masv,ho,ten ORDER
BY AVG(diem)
Câu 20:
Xét các câu lệnh sau:
DECLARE @gia_tri_nhan INT
EXEC @gia_tri_nhan = spud_MyProc
PRINT @gia_tri_nhan
Nếu biến @gia_tri_nhan có kết quả là 0 thì thủ tục spud_MyProc được kết thúc bằng cách nào dưới đây
là ĐÚNG:
a) Thủ tục spud_MyProc kết thúc mà không có lệnh RETURN
b) Thủ tục spud_MyProc kết thúc bằng lệnh RETURN 0
c) Thủ tục spud_MyProc kết thúc bằng lệnh RETURN
d) Các câu a, b và c đều đúng
Câu 21:
Xét bảng PHIEU_NHAP(sopn, ngaynhap, mako, mancc) và
bảng PHIEU_XUAT(sopx, ngayxuat, mako, makh). Giải thích:
Tên cột Ý nghĩa
Sopn Số phiếu nhập
Sopx Số phiếu xuất
Mako Mã kho
Makh Mã khách hàng
Mancc Mã nhà cung cấp
Để liên kết dữ liệu của 2 bảng trên thì trường hợp nào dưới đây là ĐÚNG: (chọn 2 câu ĐÚNG)
a) SELECT sopn AS So, ngaynhap AS Ngay, mako, mancc, '' FROM Phieu_Nhap
UNION
SELECT sopx AS So, ngayxuat, mako, '', makh FROM Phieu_Xuat
b) SELECT sopn AS So, ngaynhap AS Ngay, mako, mancc FROM Phieu_Nhap
UNION
SELECT sopx AS So, ngayxuat, mako, ‘’,makh FROM Phieu_Xuat
c) SELECT sopn AS So, ngaynhap AS Ngay, mako, mancc AS 'Nha cung cap', '' AS 'Khach hang'
FROM Phieu_Nhap
UNION
SELECT sopx AS So, ngayxuat, mako, '' AS 'Nha cung cap', makh AS 'Khach hang' FROM
Phieu_Xuat
d) Các câu a, b, c đều sai
Câu 22:
Bảng tạm DELETED của trigger UPDATE xảy ra trên một bảng sẽ chứa các mẩu tin nào dưới đây là
ĐÚNG:
a) Các mẩu tin có nội dung sau khi đã sửa
b) Các mẩu tin có nội dung trước khi bị sửa
c) Các câu a và b đều sai
d) Các câu a và b đều đúng
Câu 23:
Để khai báo một cursor sử dụng cho việc đọc và cập nhật dữ liệu thì từ khoá nào khai báo dưới đây là
ĐÚNG:
a) FOR UPDATE OF <danh sách cột>
b) FOR UPDATING <danh sách cột>
c) FOR UPDATE ALL
d) FOR UPDATE ON <danh sách cột>
Câu 24:
Xét bảng SINH_VIEN(masv, ho, ten, nam) với cột nam có kiểu BIT và cho phép NULL. Để liệt kê
thông tin các sinh viên thì các lệnh nào dưới đây là ĐÚNG:
a) SELECT masv,ho,ten,
phai=CASE
WHEN nam=1 THEN 'Nam'
WHEN nam=0 THEN 'Nu'
WHEN nam IS NULL 'Khong xac dinh' END
FROM Sinh_Vien
b) SELECT masv,ho,ten,
phai=CASE nam
WHEN 1 THEN 'Nam'
WHEN 0 THEN 'Nu'
ELSE 'Khong xac dinh' END
FROM Sinh_Vien
c) SELECT masv,ho,ten,
phai=CASE
WHEN nam=1 THEN 'Nam'
WHEN nam=0 THEN 'Nu'
WHEN nam = NULL 'Khong xac dinh' END
FROM Sinh_Vien
d) SELECT masv,ho,ten,
phai=CASE nam
WHEN 1 THEN 'Nam'
WHEN 0 THEN 'Nu'
WHEN IS NULL THEN 'Khong xac dinh' END
FROM Sinh_Vien
Câu 25:
Xét bảng HOC_SINH được tạo từ câu lệnh sau:
CREATE TABLE Hoc_Sinh
(mahs INT IDENTITY (1,1),
tenhs VARCHAR(50),
ngaysinh DATETIME
)
Giả sử bảng HOC_SINH là bảng rỗng thì các trường hợp nào dưới đây là đúng:
a) INSERT INTO Hoc_Sinh (tenhs,ngaysinh) VALUES('Hoang Thi Cuc','1977-11-12')
b) INSERT INTO Hoc_Sinh (mahs,tenhs,ngaysinh) VALUES(1,'Hoang Thi Cuc','1977-11-12')
c) INSERT INTO Hoc_Sinh VALUES(1,'Hoang Thi Cuc','1977-11-12')
d) Các câu a, b và c đều đúng
Câu 26:
Giả sử bảng KHOA là bảng rỗng và có cấu trúc: KHOA(makh,tenkh), cột tenkh không cho phép NULL
và không lấy giá trị mặc định. Chọn các câu lệnh truy vấn nào dưới đây gây ra lỗi “Cannot insert the
value NULL into column 'tenkh'” (chọn 2 câu ĐÚNG)
a) INSERT INTO Khoa (makh) VALUES (‘LY’)
b) INSERT INTO Khoa (makh,tenkh) VALUES (‘LY’,’’)
c) INSERT INTO Khoa (makh,tenkh) VALUES (‘LY’,NULL)
d) INSERT INTO Khoa VALUES (‘LY’,'NULL')
Câu 27:
Xét bảng SINH_VIEN(masv, ho, ten, makh). Giải thích:
Tên cột Ý nghĩa
Masv Mã sinh viên
Makh Mã khoa
Để liệt kê các khoa có tổng số sinh viên trong khoa lớn hơn hoặc bằng 50 thì trường hợp nào dưới đây
là ĐÚNG:
a) SELECT makh, COUNT(*) AS tongsv
FROM Sinh_Vien WHERE tongsv>=50
b) SELECT makh, COUNT(*) AS tongsv
FROM Sinh_Vien WHERE COUNT(*)>=50
c) SELECT makh, COUNT(*) AS tongsv
FROM Sinh_Vien GROUP BY makh HAVING tongsv>=50
d) Các câu a, b và c đều sai
Câu 28:
Trong các phát biểu sau về VIEW, phát biểu nào là KHÔNG ĐÚNG?
a) Một view chiếm một khoảng không gian lưu trữ dữ liệu tương tự như một bảng
b) Một view là một câu query được định nghĩa trước và lưu trong cơ sở dữ liệu
c) Một view coi như một bảng đối với người dùng
d) Một view có thể được sử dụng để giới hạn người dùng chỉ được truy cập một số cột hay dòng dữ liệu
Mình đang cập nhật bài trắc nghiệm SQL, bạn nào có sẵn bộ đề & đáp án gửi cho mình để mình cập nhật giúp các bạn khác thi thử.
Sau đây là một số câu trắc nghiệm về SQL, các bạn giải thử nhé :
Câu 1:
Để thêm một cột (tên trigia có kiểu float) vào bảng HOADON thì câu lệnh nào dưới đây là đúng:
a. Alter table hoadon
Add column trigia float
b. Alter table hoadon
Add trigia as float
c. Alter table hoadon
Add trigia float
d. Cả 3 câu trên đều sai
Câu 2:
Để tắt bỏ một Constraint (tên Fk_ctdondh_mahh) bên trong bảng CTDONDH thì câu lệnh nào dưới đây là đúng:
a. Alter table ctdondh
Nocheck Constraint All
b. Alter table ctdondh
Nocheck Constraint Fk_ctdon_mahh
c. Các câu a và b đều sai
d. Các câu a và b đều đúng
Câu 3:
Để thêm một công việc vào bảng congviec có cấu trúc (macv int identity(1,1),tencv varchar(50), dongia float) thì câu lệnh nào dưới đây là đúng:
a. Insert into congviec(macv,tencv,dongia) values (1,Tưới cây,20000)
b. Insert into congviec(tencv,dongia) values (Tưới cây,20000)
c. Insert into congviec(tencv,dongia) values (Tưới cây,20000)
d. Cả 3 câu trên đều sai
Câu 4:
Để xóa công việc Tưới cây trong bảng CONGVIEC có cấu trúc (macv int identity(1,1),tencv varchar(50), dongia float) thì câu lệnh nào dưới đây là đúng:
a. Delete * from congviec where tencv=Tưới cây
b. Delete from congviec where tencv=Tưới cây
c. Các câu a và b đều đúng
d. Các câu a và b đều sai
Câu 5:
Để hiển thị thông tin ngày đặt hàng trong bảng đơn dặt hàng có cấu trúc (sohd char(4),ngaydh datetime,manhacc char(3)) theo dạng dd/mm/yyyy thì câu lệnh nào dưới đây là đúng:
a. Select sodh, convert(char(10),ngaydh,103) as ngay from dondh
b. Select sodh, convert(char(10),ngaydh,121) as ngay from dondh
c. Select sodh, convert(char(6),ngaydh,112) as ngay from dondh
d. Cả 3 câu trên đều sai
Câu 6:
Để thống kê số lần đặt hàng theo từng nhà cung cấp (giả thiết ta có bảng dondh có cấu trúc sau (sohd char(4),ngaydh datetime,manhacc char(3)), thì câu lệnh nào dưới đây là đúng:
a. Select sodh, convert(char(10),ngaydh,103) as ngay,manhacc
from dondh
compute count(sodh) by manhacc
b. Select sodh, convert(char(10),ngaydh,103) as ngay,manhacc
from dondh
order by manhacc
compute count(sodh) by manhacc
c. Select sodh, convert(char(10),ngaydh,103) as ngay,manhacc
from dondh
order by manhacc
compute sum(sodh) by manhacc
d. Cả 3 câu trên đều sai
Câu 7:
Thứ tự sắp xếp nào là đúng trong các câu lệnh Select sau:
a. Select, From, Where, Group by, Having, Order by
b. Select, From, Where ,Order by, Group by, Having
c. Select, From, Where, Having, Group by, Order by
d. Select, From, Where, Having, Order by, Group by
Câu 8:
Thứ tự sắp xếp nào là đúng trong cú pháp câu lệnh để tạo Constraint :
1: Add constraint
2: Alter table
3: Foreign key
a. 1,2,3
b. 2,1,3
c. 3,2,1
d. 3,1,2
Câu 9:
Thủ tục nội tại spud_TinhSLDat dùng để tính số lượng đặt của một vật tư trong một đơn đặt hàng. Mô
tả các tham số thủ tục:
Tên tham số Ý nghĩa
@SoDH Số đặt hàng INPUT
@MaVT Mã vật tư INPUT
@SlDat Số lượng đặt OUTPUT
Trong các trường hợp gọi thực hiện thủ tục spud_TinhSLDat dười đây thì trường hợp nào là ĐÚNG:
a) DECLARE @Sl_Dat INT
EXEC spud_TinhSLDat @SoDH=’D001’, @MaVT=’DD02’, @Sl_Dat=@SlDat OUTPUT
b) DECLARE @Sl_Dat INT
EXEC spud_TinhSLDat @SoDH=’D001’, @MaVT=’DD02’, @Sl_Dat=@SlDat
c) DECLARE @Sl_Dat INT
EXEC spud_TinhSLDat ’D001’, ’DD02’, @SlDat=@Sl_Dat OUTPUT
d) EXEC spud_TinhSLDat @SoDH=’D001’, @MaVT=’DD02’, @SlDat=@Sl_Dat
Câu 10:
Xét bảng SINH_VIEN(masv, ho, ten, makh).
Tên cột Ý nghĩa
Masv Mã sinh viên
Makh Mã khoa
Để tạo ra bảng Khoa_TH chứa các sinh viên đang học khoa Tin học thì câu lệnh nào dưới đây là ĐÚNG:
a) CREATE TABLE Khoa_TH AS SELECT masv, ho, ten FROM Sinh_Vien WHERE makh='TH'
b) SELECT masv, ho, ten INTO Khoa_TH FROM Sinh_Vien
c) SELECT masv, ho, ten INTO Khoa_TH WHERE makh='TH'
d) SELECT masv, ho, ten INTO Khoa_TH FROM Sinh_Vien WHERE makh='TH'
Câu 11:
Trong SQL Server, để in ra tháng hiện hành, câu lệnh nào dưới đây là ĐÚNG:
a) PRINT DATEPART(m,GETDATE)
b) PRINT DATEPART(mm,GETDATE)
c) PRINT DATEPART(“mm”,GETDATE())
d) PRINT DATEPART(mm,GETDATE())
Câu 12:
Chọn đoạn lệnh sau:
Declare @strTenHang varchar(100), @intDonGia int
Set @strTenHang='Tivi Samsung' , @intDonGia=5000000
Print @strTenHang + ' ' + Cast(@intDonGia as varchar(5))
Giá trị được in trong cửa sổ kết quả của Query Anlyzer sau khi thực thi đoạn lệnh trên là:
a) Tivi Samsung *
b) Tivi Samsung 50000
c) Trong cửa sổ kết quả sẽ xuất thông báo lỗi vì đoạn lệnh trên không đúng cú pháp
d) Tivi Samsung 5000000
Câu 13:
Các biến hệ thống nào sau đây không có trong SQL Server
a) @@Error
b) @@Rowcount
c) @@FetchStatus
d) @@Version
Câu 14:
Câu lệnh tạo view nào dưới đây là ĐÚNG:
a) CREATE VIEW v_SinhVien AS
SELECT sv.*, kh.tenkh
FROM Sinh_Vien sv INNER JOIN Khoa kh ON sv.makh=kh.makh ORDER BY sv.makh
b) CREATE VIEW v_SinhVien AS
SELECT sv.*, kh.tenkh
FROM Sinh_Vien sv INNER JOIN Khoa kh ON sv.makh=kh.makh ORDER BY makh
c) CREATE VIEW v_SinhVien AS
SELECT sv.*, kh.tenkh
FROM Sinh_Vien sv INNER JOIN Khoa kh ON sv.makh=kh.makh ORDER BY kh.makh
d) Các câu a,b và c đều sai.
Câu 15:
Để khai báo cursor sử dụng cho việc đọc dữ liệu theo mọi chiều di chuyển (first, prior, next, last) thì từ
khoá nào khai báo dưới đây là ĐÚNG:
a) READ_ONLY
b) SCROLL
c) SCROLL_LOCK
d) FORWARD_ONLY
Câu 16:
Chọn đoạn lệnh sau:
Declare @so int
Set @so=11
While @so <= 15
Begin
Set @so = @so + 1
If @so % 2=0
Set @so = @so + 2
Break
End
Print Cast(@so as char(10))
Giá trị được in trong cửa sổ kết quả của Query Anlyzer sau khi thực thi đoạn lệnh trên là:
a) 12
b) 14
c) 13
d) 15
Câu 17:
Câu lệnh xoá cột trong bảng nào dưới đây là ĐÚNG cú pháp:
a) ALTER TABLE <tên bảng> DROP COLUMN ALL
b) ALTER TABLE <tên bảng> DROP COLUMN <tên cột>
c) ALTER TABLE <tên bảng> DROP <tên cột>
d) Các câu a,b và c đều sai
Câu 18:
Xét bảng DONDH(sodh,ngay,mancc) và bảng NHACC(mancc,tenncc), có ràng buộc khoá ngoại
DONDH[mancc] ⊆ NHACC[mancc]. Để liệt kê các nhà cung cấp nào mà chưa có đơn đặt hàng thì các
câu lệnh truy vấn nào dưới đây là ĐÚNG (chọn 2 câu ĐÚNG):
a) SELECT n.mancc,tenncc FROM Nhacc n LEFT JOIN DonDH d ON n.mancc=d.mancc WHERE
d.mancc IS NULL
b) SELECT n.mancc,tenncc FROM Nhacc n LEFT JOIN DonDH d ON n.mancc=d.mancc WHERE
n.mancc IS NULL
c) SELECT mancc,tenncc FROM Nhacc WHERE mancc NOT IN (SELECT * FROM DonDH)
d) SELECT mancc,tenncc FROM Nhacc WHERE mancc NOT IN (SELECT mancc FROM DonDH)
Câu 19:
Xét bảng SINH_VIEN(masv, ho, ten, makh) và bảng KET_QUA(masv, mamh, diem).
Tên cột Ý nghĩa
Masv Mã sinh viên
Makh Mã khoa
Mamh Mã môn
Diem Điểm số
Để liệt kê các sinh viên trong khoa TH có điểm trung bình tất cả các môn theo thứ tự tăng thì câu lệnh
truy vấn nào dưới đây là ĐÚNG:
a) SELECT Ket_Qua.masv,ho,ten,AVG(diem) FROM Ket_Qua INNER JOIN Sinh_Vien ON
Ket_Qua.masv=Sinh_Vien.masv WHERE makh='TH' GROUP BY Ket_Qua.masv,ho,ten ORDER
BY AVG(diem) DESC
b) SELECT Ket_Qua.masv,ho,ten,AVG(diem) FROM Ket_Qua INNER JOIN Sinh_Vien ON
Ket_Qua.masv=Sinh_Vien.masv WHERE makh='TH' GROUP BY Ket_Qua.masv ORDER BY
AVG(diem)
c) SELECT masv,ho,ten,AVG(diem) FROM Ket_Qua INNER JOIN Sinh_Vien ON
Ket_Qua.masv=Sinh_Vien.masv WHERE makh='TH' GROUP BY masv ORDER BY AVG(diem)
d) SELECT Ket_Qua.masv,ho,ten,AVG(diem) FROM Ket_Qua INNER JOIN Sinh_Vien ON
Ket_Qua.masv=Sinh_Vien.masv WHERE makh='TH' GROUP BY Ket_Qua.masv,ho,ten ORDER
BY AVG(diem)
Câu 20:
Xét các câu lệnh sau:
DECLARE @gia_tri_nhan INT
EXEC @gia_tri_nhan = spud_MyProc
PRINT @gia_tri_nhan
Nếu biến @gia_tri_nhan có kết quả là 0 thì thủ tục spud_MyProc được kết thúc bằng cách nào dưới đây
là ĐÚNG:
a) Thủ tục spud_MyProc kết thúc mà không có lệnh RETURN
b) Thủ tục spud_MyProc kết thúc bằng lệnh RETURN 0
c) Thủ tục spud_MyProc kết thúc bằng lệnh RETURN
d) Các câu a, b và c đều đúng
Câu 21:
Xét bảng PHIEU_NHAP(sopn, ngaynhap, mako, mancc) và
bảng PHIEU_XUAT(sopx, ngayxuat, mako, makh). Giải thích:
Tên cột Ý nghĩa
Sopn Số phiếu nhập
Sopx Số phiếu xuất
Mako Mã kho
Makh Mã khách hàng
Mancc Mã nhà cung cấp
Để liên kết dữ liệu của 2 bảng trên thì trường hợp nào dưới đây là ĐÚNG: (chọn 2 câu ĐÚNG)
a) SELECT sopn AS So, ngaynhap AS Ngay, mako, mancc, '' FROM Phieu_Nhap
UNION
SELECT sopx AS So, ngayxuat, mako, '', makh FROM Phieu_Xuat
b) SELECT sopn AS So, ngaynhap AS Ngay, mako, mancc FROM Phieu_Nhap
UNION
SELECT sopx AS So, ngayxuat, mako, ‘’,makh FROM Phieu_Xuat
c) SELECT sopn AS So, ngaynhap AS Ngay, mako, mancc AS 'Nha cung cap', '' AS 'Khach hang'
FROM Phieu_Nhap
UNION
SELECT sopx AS So, ngayxuat, mako, '' AS 'Nha cung cap', makh AS 'Khach hang' FROM
Phieu_Xuat
d) Các câu a, b, c đều sai
Câu 22:
Bảng tạm DELETED của trigger UPDATE xảy ra trên một bảng sẽ chứa các mẩu tin nào dưới đây là
ĐÚNG:
a) Các mẩu tin có nội dung sau khi đã sửa
b) Các mẩu tin có nội dung trước khi bị sửa
c) Các câu a và b đều sai
d) Các câu a và b đều đúng
Câu 23:
Để khai báo một cursor sử dụng cho việc đọc và cập nhật dữ liệu thì từ khoá nào khai báo dưới đây là
ĐÚNG:
a) FOR UPDATE OF <danh sách cột>
b) FOR UPDATING <danh sách cột>
c) FOR UPDATE ALL
d) FOR UPDATE ON <danh sách cột>
Câu 24:
Xét bảng SINH_VIEN(masv, ho, ten, nam) với cột nam có kiểu BIT và cho phép NULL. Để liệt kê
thông tin các sinh viên thì các lệnh nào dưới đây là ĐÚNG:
a) SELECT masv,ho,ten,
phai=CASE
WHEN nam=1 THEN 'Nam'
WHEN nam=0 THEN 'Nu'
WHEN nam IS NULL 'Khong xac dinh' END
FROM Sinh_Vien
b) SELECT masv,ho,ten,
phai=CASE nam
WHEN 1 THEN 'Nam'
WHEN 0 THEN 'Nu'
ELSE 'Khong xac dinh' END
FROM Sinh_Vien
c) SELECT masv,ho,ten,
phai=CASE
WHEN nam=1 THEN 'Nam'
WHEN nam=0 THEN 'Nu'
WHEN nam = NULL 'Khong xac dinh' END
FROM Sinh_Vien
d) SELECT masv,ho,ten,
phai=CASE nam
WHEN 1 THEN 'Nam'
WHEN 0 THEN 'Nu'
WHEN IS NULL THEN 'Khong xac dinh' END
FROM Sinh_Vien
Câu 25:
Xét bảng HOC_SINH được tạo từ câu lệnh sau:
CREATE TABLE Hoc_Sinh
(mahs INT IDENTITY (1,1),
tenhs VARCHAR(50),
ngaysinh DATETIME
)
Giả sử bảng HOC_SINH là bảng rỗng thì các trường hợp nào dưới đây là đúng:
a) INSERT INTO Hoc_Sinh (tenhs,ngaysinh) VALUES('Hoang Thi Cuc','1977-11-12')
b) INSERT INTO Hoc_Sinh (mahs,tenhs,ngaysinh) VALUES(1,'Hoang Thi Cuc','1977-11-12')
c) INSERT INTO Hoc_Sinh VALUES(1,'Hoang Thi Cuc','1977-11-12')
d) Các câu a, b và c đều đúng
Câu 26:
Giả sử bảng KHOA là bảng rỗng và có cấu trúc: KHOA(makh,tenkh), cột tenkh không cho phép NULL
và không lấy giá trị mặc định. Chọn các câu lệnh truy vấn nào dưới đây gây ra lỗi “Cannot insert the
value NULL into column 'tenkh'” (chọn 2 câu ĐÚNG)
a) INSERT INTO Khoa (makh) VALUES (‘LY’)
b) INSERT INTO Khoa (makh,tenkh) VALUES (‘LY’,’’)
c) INSERT INTO Khoa (makh,tenkh) VALUES (‘LY’,NULL)
d) INSERT INTO Khoa VALUES (‘LY’,'NULL')
Câu 27:
Xét bảng SINH_VIEN(masv, ho, ten, makh). Giải thích:
Tên cột Ý nghĩa
Masv Mã sinh viên
Makh Mã khoa
Để liệt kê các khoa có tổng số sinh viên trong khoa lớn hơn hoặc bằng 50 thì trường hợp nào dưới đây
là ĐÚNG:
a) SELECT makh, COUNT(*) AS tongsv
FROM Sinh_Vien WHERE tongsv>=50
b) SELECT makh, COUNT(*) AS tongsv
FROM Sinh_Vien WHERE COUNT(*)>=50
c) SELECT makh, COUNT(*) AS tongsv
FROM Sinh_Vien GROUP BY makh HAVING tongsv>=50
d) Các câu a, b và c đều sai
Câu 28:
Trong các phát biểu sau về VIEW, phát biểu nào là KHÔNG ĐÚNG?
a) Một view chiếm một khoảng không gian lưu trữ dữ liệu tương tự như một bảng
b) Một view là một câu query được định nghĩa trước và lưu trong cơ sở dữ liệu
c) Một view coi như một bảng đối với người dùng
d) Một view có thể được sử dụng để giới hạn người dùng chỉ được truy cập một số cột hay dòng dữ liệu

