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?. Câu truy vấn nào hiển thị tổng số dòng dữ liệu có trong bảng emp?. Cho 1 bảng với cấu trúc sau: N
Trang 11 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
Trang 28 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
Trang 3From 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
Trang 4WHERE 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) Select DonGia from SanPham where DonGia = min;
b) Select min(DonGia) from SanPham;
c) Select min(DonGia) from SanPham where DonGia = min(DonGia);
d) 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
Trang 5Cho 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) Trả về tên cuả nhà cung cấp mà không tồn tại trong cơ sở dữ liệu
b) Trả về tên cuả nhà cung cấp mà không cung cấp bất kỳ sản phẩm nào
c) Trả về tên cuả nhà cung cấp mà không cung cấp tất cả các sản phẩm
d) Không có chọn lựa nào đúng
Trang 621 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:
Trang 7KhachHang(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 <Luong
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)
Trang 8d) 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) Hai bảng phải có cùng số cột
b) Hai bảng phải có chung giá trị trong các dòng
c) Hai bảng phải có chung ít nhất một cột
d) 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) 0
b) > n
c) n
d) < 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
Trang 931 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
Trang 10b) 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
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