Ðề: 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ể
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
Còn 2 câu 22 và 23 mem nào giải giúp.