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

Trắc nghiệm SQL server

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 (85.38 KB, 10 trang )

1. Câu lệnh SQL nào sau đây dùng để xóa cả cấu trúc và dữ liệu của bảng có tên là
STUDENT?
a) DROP TABLE STUDENT
b) DELETE TABLE STUDENT
c) REMOVE TABLE STUDENT
d) DELETE FROM STUDENT

2. Câu lệnh SQL nào sau đây dùng để loại bỏ chỉ dữ liệu từ bảng có tên là STUDENT,
trong khi để lại nguyên vẹn cấu trúc bảng?
a) DROP TABLE STUDENT
b) DELETE TABLE STUDENT
c) REMOVE TABLE STUDENT
d) DELETE FROM STUDENT
3. Từ khóa SQL nào dùng để loại bỏ các hàng trùng lặp trong kết quả của một truy vấn
SQL SELECT?
a) UNIQUE
b) SORT
c) ORDER BY
d) DISTINCT
4. Câu truy vấn nào hiển thị tổng số dòng dữ liệu có trong bảng emp?
a. Select rowcount from emp
b. Select totalrows from emp
c. Select count(*) from emp
d. Select count_rows from emp
5. Mệnh đề _________ được dùng để nhóm các record giống nhau lại với nhau?
a. GROUP BY
b. HAVING
c. WHERE
d. ORDER BY
6. Để hiển thị lương nhân viên sau khi tăng 10% từ bảng employee, ta viếtcâu lệnh
_________?


a. Select emp_code, basic*.10 from employee order by emp_code
b. Select emp_code, basic+basic*.01 from employee order by emp_code
c. Select emp_code, basic+10 from employee order by emp_code
d. Select emp_code, basic+basic*.10 from employee order by emp_code
7. Chỉ hiển thị các customer có số điện thoại
a. SELECT * from customer where phone IS NOT NULL
b. SELECT * from customer where phone = NOT NULL
c. SELECT * from customer where phone NOT NULL
d. SELECT * from customer where HAVING phone NOT NULL


8. Phát biểu nào sau đây là đúng khi nói về hàm COUNT(*)?
a. Nó có thể truyền một tham số
b. Nó trả về số các dòng khác nhau sử dụng từ khóa DISTINCT
c. Nó trả về số các dòng kể cả dòng có chứa giá trị NULL
d. Nó trả về số các dòng bỏ qua các dòng có chứa giá trị NULL
9. Khi thiết kế bảng, bạn đặt trường Emp_id làm khóa chính. Toàn vẹn dữ liệu nào hỗ
trợ cho trường hợp này?
a. Tòan vẹn thực thể
b. Toàn vẹn tham chiếu
c. Toàn vẹn miền
d. Tòan vẹn do người dùng định nghĩa
10. Update Products
set UnitPrice = UnitPrice + (UnitPrice * .10)
where UnitPrice between 60 and 70
Kết quả của câu lệnh trên là?
a. Tăng 10% giá (UnitPrice) trong bảng Products, cho những sản phẩm có giá là 60
hoặc 70
b. Tăng 10% giá (UnitPrice) trong bảng Products, cho những sản phẩm có giá từ 60
đến 70

c. Tăng 10% giá (UnitPrice) trong bảng Products, cho những sản phẩm có giá từ 60
đến 70, không kể 2 giá trị 60 và 70
d. Tất cả các phương án điều sai.
11. Cho lược đồ cơ sở dữ liệu sau:
SINHVIEN(MaSV, HoSV, TenSV, Phai, NgaySinh, DiaChi, DienThoai, MaLop)
LOP(MaLop, TenLop, MaKhoa, GVCN)
KETQUA(MaSV, MaMH, LanThi, Diem)
MONHOC(MaMH, TenMH, SoTinChi)
Liệt kê danh sách các sinh viên gồm (MaSV, HoSV, TenSV) có điểm thi môn CSDL cao
nhất?
a) Select K.MaSV, HoSV, TenSV
From SinhVien S, KetQua K
Where S.MASV=K.MASV
And MaMH='CSDL' And Diem>=ALL(Select Diem From KetQua where
MaMH ='CSDL')
b) Select K.MaSV, HoSV, TenSV
From SinhVien S, ketqua K
Where S.MASV=K.MASV
And MaMH='CSDL' And Diem=(Select max(Diem) From ketqua where MaMH
='CSDL')
c) Select top 1 with ties K.MaSV, HoSV, TenSV


From SinhVien S, KetQua K
Where S.MASV=K.MASV
And MaMH='CSDL' order by diem desc
d) Tất cả các phương án trên.
12. Câu lệnh truy vấn nào sau đây là sai cú pháp?
a) SELECT ProductName FROM products WHERE (UnitPrice < 10) ,
(UnitsInStock > 5)

b) SELECT ProductName FROM products WHERE (UnitPrice < 10) OR NOT
(UnitsInStock > 5)
c) SELECT ProductName FROM products WHERE UnitPrice < 10 OR
UnitsInStock > 5
d) SELECT ProductName FROM products WHERE UnitPrice < 10 AND
UnitsInStock > 5
13. Cho 1 bảng với cấu trúc sau: NhanVien(MaNV, TenNV, Luong,
NgayBatDauVaoLam) hãy tạo câu truy vấn SQL để tìm nhân viên có lương cao nhất.
a) SELECT *
FROM NhanVien
ORDER BY Luong DESC;
b) SELECT top 1 *
FROM NhanVien
ORDER BY Luong;
c) SELECT top 1 *
FROM NhanVien
ORDER BY Luong DESC;
d) SELECT top 1 *
FROM NhanVien;
14. Cho 1 bảng với cấu trúc sau: NhanVien(MaNV, TenNV, Luong,
NgayBatDauVaoLam), Tạo câu truy vấn SQL để tìm tất cả các nhân viên bắt đầu vào
làm việc trong năm 2005?
a) SELECT *
FROM NhanVien
WHERE NgayBatDauVaoLam=2005;
b) SELECT *
FROM NhanVien
WHERE NgayBatDauVaoLam>='01/01/2005';
c) SELECT *
FROM NhanVien



WHERE year(NgayBatDauVaoLam)=2005;
d) SELECT *
FROM NhanVien
WHERE NgayBatDauVaoLam< '01/01/2006';
15. Cho 1 bảng với cấu trúc sau: NhanVien(MaNV, TenNV, Luong,
NgayBatDauVaoLam). Tạo câu truy vấn SQL để tìm tất cả các nhân viên mà có ký tự
đầu cuả tên là 'S'?
a) SELECT *
FROM NhanVien
WHERE TenNV IN ['S'];
b) SELECT *
FROM NhanVien
WHERE TenNV LIKE 'S%';
c) SELECT *
FROM TenNV
WHERE NhanVien LIKE 'S*';
d) SELECT EmpNo
FROM NhanVien
WHERE TenNV LIKE 'S';
16. Cho bảng SanPham(MaSP, TenSP, DonGia) có khóa chính là [MaSP]. Tạo câu truy
vấn để xem giá thấp nhất trong bảng SanPham là bao nhiêu?
a)
b)
c)
d)

Select DonGia from SanPham where DonGia = min;
Select min(DonGia) from SanPham;

Select min(DonGia) from SanPham where DonGia = min(DonGia);
Select DonGia from SanPham where DonGia = min(DonGia);

17. Cho bảng SinhVien(MaSV,TenSV,ChuyenNganh) với khóa chính là [Masv,
ChuyenNganh]. Các sinh viên có thể học nhiều chuyên ngành khác nhau. Tạo câu
truy vấn liệt kê danh sách các sinh viên không thuộc chuyên ngành CNTT
a) SELECT * FROM SinhVien HAVING ChuyenNganh <> 'CNTT"
b) SELECT * FROM SinhVien GROUP BY ChuyenNganh HAVING
ChuyenNganh <> 'CNTT"
c) SELECT * FROM SinhVien WHERE MaSV NOT IN (SELECT MaSV FROM
SinhVien WHERE ChuyenNganh = 'CNTT')
d) SELECT * FROM SinhVien WHERE MaSV NOT IN (SELECT MaSV FROM
SinhVien Having ChuyenNganh = 'CNTT')
18. Cho bảng SinhVien(MaSV,TenSV,ThanhPho,ChuyenNganh) với khóa chính là
[Masv, ChuyenNganh]. Các sinh viên có thể học nhiều chuyên ngành khác nhau.


Cho câu lệnh SELECT của SQL sau:
Select MaSV, ChuyenNganh From SinhVien
GROUP BY ChuyenNganh
HAVING ThanhPho='VungTau'
Chọn câu trả lời đúng?
a) Câu lệnh trên bị lỗi
b) Trả về danh sách gồm MaSV, ChuyenNganh của các sinh viên có thành phố là
VungTau
c) Trả về một bảng gồm các chuyên ngành của từng sinh viên
d) Trả về 1 dòng gồm MaSV, ChuyenNganh của sinh viên có thành phố là VungTau
19. Cho các bảng sau:
KhachHang (MaKH, TenKH, ThanhPho)
SanPham(MaSP, TenSP, SoLuong, DonGia)

DaiLy (MaDL, TenDL, ThanhPho, HueHong)
DatHang (MaDH, NgayDH, MaKH, MaDL, MaSP, SoLuong, ThanhTien).
Chọn câu lệnh SQL để giải quyết câu truy vấn sau:
Tăng giá cuả mỗi sản phẩm trong bảng SanPham lên 10% cho tất cả các sản phẩm mà
khách hàng 'C01' đặt mua.
a) Update SanPham set DonGia= DonGia * 1.1 where DatHang.MaKH = 'C01'
b) Update SanPham, DatHang set SanPham.DonGia = SanPham.DonGia * 10%
where DatHang.MaKH = 'C01'
c) Update SanPham set DonGia = 1.1 * DonGia where MaSP in (select MaSP from
DatHang where MaKH = 'C01')
d) Update SanPham set DonGia = 0.1 * DonGia where MaSP in (select MaSP from
DatHang where MaKH = 'C01')
20. Cho các lựơc đồ quan hệ sau:
NhaCungCap(MaNCC,TenNCC,ThanhPho)
SanPham(MaSP,TenSP,Mau)
CungCap(MaNCC,MaSP,SoLuong)
Hãy cho biết ý nghĩa của lệnh truy vấn sau:
Select TenNCC
From NhaCungCap X
Where Not Exists (Select * From CungCap Y Where X.MaNCC = Y.MaNCC)
a)
b)
c)
d)

Trả về tên cuả nhà cung cấp mà không tồn tại trong cơ sở dữ liệu
Trả về tên cuả nhà cung cấp mà không cung cấp bất kỳ sản phẩm nào
Trả về tên cuả nhà cung cấp mà không cung cấp tất cả các sản phẩm
Không có chọn lựa nào đúng



21. Cho CSDL gồm các bảng sau:
SinhVien(MaSV,TenSV,DiaChi,MaKhoaHoc)
KetQua(MaSV,MaMH,Diem)
MonHoc(MaMH,TenMH)
Cho câu truy vấn SQL sau:
SELECT TenSV, MaMH
FROM SinhVien s,KetQua k
ON s.MaSV =k.MaSV
WHERE Diem is null
Ý nghĩa của lệnh truy vấn trên?
a) Câu truy vấn trên không hợp lệ.
b) Nếu sinh viên nào bị trùng tên thì không in ra kết quả.
c) Liệt kê danh sách các sinh viên cùng với mã môn học mà sinh viên đó chưa có
điểm
d) Liệt kê danh sách các sinh viên chưa có điểm thi bất kỳ môn nào
22. Cho lược đồ Cơ sở dữ liệu sau:
SinhVien(MaSV, HoSV, TenSV, Phai, NgaySinh, DiaChi, DienThoai, MaLop)
Lop(MaLop, TenLop, MaKhoa, GVCN)
KetQua(MaSV, MaMH, LanThi, Diem)
MonHoc(MaMH, TenMH, SoTinChi)
Viết lệnh để hiển thị danh sách lớp gồm 3 cột sau : MaLop, TenLop và SiSo
a) Select S.Malop,TenLop,SiSo=Sum(MaSV)
From Lop L, SinhVien S
Group by S.Malop,TenLop
b) Select S.Malop,TenLop,SiSo=Sum(MaSV)
From Lop L, SinhVien S
Where L.Malop=S.MaLop
Group by S.Malop,TenLop
c) Select S.Malop,TenLop,SiSo=Count(MaSV)

From Lop L, SinhVien S
Where L.Malop=S.MaLop
Group by S.Malop,TenLop
d) Select S.Malop,TenLop,SiSo=Count(SinhVien)
From Lop L, SinhVien S
Where L.Malop=S.MaLop
Group by S.Malop,TenLop
23. Cho lược đồ CSDL gồm các bảng sau:


KhachHang(MaKH, TenKH, ThanhPho)
SanPham(MaSP, TenSP, SoLuong, DonGia)
DaiLy (MaDL, TenDL, ThanhPho, HueHong)
DatHang(MaDH, NgayDH, MaKH, MaDL, MaSP, SoLuong, ThanhTien)
Hãy viết lệnh liệt kê tên các sản phẩm có nhiều hơn 2 khách hàng đặt mua .
a) Select TenSP from SanPham where MaSP in (select MaSP from DatHang where
MaKH = 'c01' and MaKH = 'c02')
b) Select TenSP from SanPham where MaSP in (select o1.MaSP from DatHang o1,
DatHang o2 where o1.MaKH = 'c01' and o2.MaKH = 'c02' and o1.MaSP =
o2.MaSP)
c) Select TenSP from SanPham p, DatHang o1, DatHang o2 where p.MaSP =
o1.MaSP and p.MaSP = o2.MaSP
d) Select distinct TenSP from SanPham p, DatHang o1, DatHang o2 where p.MaSP
= o1.MaSP and p.MaSP = o2.MaSP and o1.MaKH <> o2.MaKH
24. Cho lược đồ quan hệ gồm:
NhaCungCap(MaNCC,TenNCC,ThanhPho)
HangHoa(MaHang,TenHang,MauSac)
CungUng(MaNCC,MaHang,SoLuong)
Tạo câu truy vấn SQL để tính tổng số lượng của từng sản phẩm đã được cung ứng?
a) Select MaHang,sum(SoLuong) From CungUng Group By MaHang;

b) Select MaNCC, MaHang, sum(SoLuong) From HangHoa H, CungUng C Where
H.MaHang = C.MaHang Group by MaNCC, MaHang;
c) Select MaHang,SoLuong From CungUng;
d) Select sum(SoLuong) From CungUng;
25. Cho lược đồ quan hệ gồm:
PhongBan(MaPB,TenPB,NganSach)
NhanVien(MaNV,TenNV,ThanhPho,Luong,MaPB)
Hãy tạo câu truy vấn sau: Liệt kê tên các phòng ban có ngân sách ít hơn tổng tiền lương
cuả các nhân viên làm việc trong phòng ban đó?
a) Select TenPB From PhongBan P, NhanVien N
Where N.MaPB=P.MaPB AND NganSach b) Select TenPB From PhongBan P
Where NganSach< (Select sum(Luong) From NhanVien N Where N.MaPB =
P.MaPB)
c) Select TenPB From PhongBan
Where NganSach< (Select sum(Luong) From NhanVien)


d) Select TenPB From PhongBan P, NhanVien N
Where N.MaPB=P.MaPB
AND NganSach <(Select sum(Luong) From NhanVien Group By MaPB)
26. Cho quan hệ CungUng(MaNCC,MaHang,SoLuong)
Câu truy vấn SQL nào sao đây tương đương với phép chiếu (project) trong đại số quan
hệ dựa trên cột MaNCC?
a) Select MaNCC From CungUng;
b) Select MaNCC From CungUng Order by MaNCC;
c) Select * From CungUng;
d) Select Distinct MaNCC From CungUng;
27. Cho quan hệ CungUng(MaNCC,MaHang,SoLuong)
Câu truy vấn SQL nào sao đây tương ứng với phép chiếu (project) và phép chọn

(selection) trong đại số quan hệ ?
a) Select MaNCC From CungUng;
b) Select * From CungUng;
c) Select Distinct S1.MaNCC From CungUng S1, CungUng S2 Where S1.SoLuong
> S2.SoLuong;
d) Select Distinct MaNCC From CungUng Where SoLuong> 35;
28. Điều kiện để 2 bảng có thể kết (join) với nhau là:
a)
b)
c)
d)

Hai bảng phải có cùng số cột.
Hai bảng phải có chung giá trị trong các dòng.
Hai bảng phải có chung ít nhất một cột.
Hai bảng phải có khóa chính.

29. Gỉa sử bảng Employee có n dòng dữ liệu (n>1). Hãy cho biết kết quả lệnh truy vấn
sau có bao nhiêu dòng?
SELECT e1.name, e2.name
FROM employee e1, employee e2
a)
b)
c)
d)

0
>n
n


30. Không có mệnh đề Where trong một câu lệnh Delete có ảnh hưởng gì?
a) Câu lệnh Delete sẽ lỗi do không có dòng nào được xóa.
b) Câu lệnh Delete sẽ thông báo cho người sử dụng nhập điều kiện để xóa.
c) Câu lệnh Delete sẽ xóa tất cả các mẩu tin trong bảng.
d) Câu lệnh Delete sẽ lỗi do sai cú pháp.


31. Một bảng có n dòng và có một khoá duy nhất (unique key). Giả sử trong 1 dòng của
bảng, khoá có giá trị null. Nếu 1 lệnh truy vấn thực hiện một phép kết bằng trên bảng
này với chính nó thông qua khoá duy nhất này. Kết quả cuả câu truy vấn trả về bao
nhiêu dòng?
a) ít hơn n dòng.
b) Nhiều hơn n dòng.
c) không có dòng nào cả.
d) n dòng
32. Cho lược đồ quan hệ sau:
SinhVien (MaSV, HoSV, TenSV, DiaChi, ThanhPho,MaVung)
Dựa vào lược đồ quan hệ trên, thay đổi mã vùng cuả sinh viên ở Tp.HCM thành 08?
a) Update SinhVien
Set MaVung='08' Where ThanhPho='Tp.HCM'
b) Update MaVung='08'
Where ThanhPho='Tp.HCM'
c) Update SinhVien
Where ThanhPho='Tp.HCM' And MaVung='08'
d) Tất cả các phương án trên.
33. Trong lệnh cập nhật dữ liệu UPDATE, nếu ta không dùng mệnh đề WHERE thì:
a) Sẽ không thực hiện lệnh cập nhật
b) Chỉ một số dòng được cập nhật
c) Không có dòng nào được cập nhật

d) Tất cả các dòng sẽ được cập nhật
34. Cho câu lệnh SQL:
SELECT count(SOHD) FROM HOADON
GROUP BY NGAYXUAT;
Câu lệnh này sẽ cho kết quả:
a) Số hóa đơn tương ứng với ngày xuất
b) Tổng số hóa đơn
c) Số lượng hóa đơn xuất ra theo ngày
d) Câu lệnh không đúng
35. Cho câu truy vấn sau:
SELECT E.EMPLOYEE_NAME, P.PAYSCALE
FROM EMPLOYEES E
WHERE 500>ALL(SELECT P.BONUSPAY
FROM PAYLIST P
WHERE P.EMPLOYEEID = E.EMPLOYEE_ID);
Câu truy vấn trên sai ở điểm nào:
a) Câu lệnh SELECT không thể lấy cột PAYSCALE


b) Subquery không thể trả về nhiều dòng
c) Subquery không thể truy cập dữ liệu ở bảng EMPLOYEES
d) Không có lỗi nào.
36. Cho quan hệ Cungcap
MaNCC Mahang Soluong
101
1
20
101
2
30

102
1
14
103
4
21
104
4
10
105
1
5
Kết quả câu truy vấn SQL :
Select Mahang From Cungcap
Group By Mahang
Having Count(*) = (Select Max(Count(*)) From Cungcap Group By Mahang)
a) 1
b) 2
c) 3
d) 4



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×