CÂU HỎI ÔN TẬP QUẢN TRỊ CƠ SỞ DỮ LIỆU SQL
QUẢN TRỊ CƠ SỞ DỮ LIỆU Câu 1: Tạo cấu trúc bảng SQL, Data Type cột tương ứng người dùng chọn kiểu ‘‘image’’ liệu cột nhận giá trị dạng: • Dữ liệu nhị phân với độ dài xác (tối đa 2,147,483,647 bytes) • Hình ảnh Câu 2: Tạo cấu trúc bảng SQL có thành phần: Column Name, Data Type, Allow Nulls Khi người dùng tích chọn mục Allow Null cho cột tương ứng bảng, nghĩa là: Trường nhận giá trị Null Câu 3: Câu lệnh tạo Database SQL: CREATE DATABASE [ON PRIMARY , [,]…] [FILEGROUP , [,]…] [LOG ON , [,]…] Câu 4: Tạo cấu trúc bảng SQL, Data Type cột tương ứng người dùng chọn kiểu ‘‘Datetime’’ liệu cột nhận giá trị dạng: Kiểu ngày (chính xác đến phần trăm giây) Câu 5: Cú pháp câu lệnh chọn (hiển thị) liệu: Câu 6: Tạo cấu trúc bảng SQL có thành phần: Column Name, Data Type, Allow Nulls Tác dụng Data Type: Chọn kiểu liệu Câu 7: Cấu trúc lời gọi SP? Câu 8: Inner Join kiểu liên kết ? Phép nối Câu 9: Trong Cú pháp câu lệnh ràng buộc Forein Key, từ khố On Update có nghĩa: cập nhật Câu 10: Cú pháp câu lệnh xoá thủ tục? DROP PROCEDURE tên_th ủ_tục Câu 11: Câu lệnh xoá bảng SQL: DROP TABLE Câu 12: Cú pháp câu lệnh khai báo tham số: @tên_tham_số kiểu_dữ_liệu = giá_trị_mặc_định Câu 13: Câu lệnh thêm cột vào bảng SQL: ALTER TABLE ADD Câu 14: Trong khai báo thủ tục, thân thủ tục bắt đầu sau từ khố nào? AS Câu 15: Tạo cấu trúc bảng SQL, Data Type cột tương ứng người dùng chọn kiểu ‘‘Nchar(n)’’ liệu cột nhận giá trị dạng: Kiếu chuỗi với độ dài cố định hỗ trợ UNICODE, n có giá trị từ 1-4000 Câu 16: Tạo cấu trúc bảng SQL, Data Type cột tương ứng người dùng chọn kiểu ‘‘float’’ liệu cột nhận giá trị dạng: Số thực có giá trị từ -1.79E+308 đến 1.79E+308 Câu 17: Cú pháp câu lệnh khai báo biến: :@ Câu 18: Từ khoá khai báo hàm ? Câu 19: Prameter là: truy vấn có tham số ( dùng tham số truyền vào ) Câu 20: Tạo cấu trúc bảng SQL, mục Data Type cột tương ứng người dùng chọn kiểu ‘‘Nvarchar(50)’’ liệu cột nhận giá trị dạng: Câu 21: Cú pháp câu lệnh sửa thủ tục? Câu 22: Câu lệnh tạo cấu trúc bảng SQL? Câu 23: Cú pháp câu lệnh ràng buộc Check? Câu 24: Trong Cú pháp đầy đủ câu lệnh ràng buộc Forein Key, từ khố Cascade có nghĩa: Câu 25: Cú pháp câu lệnh nhập liệu SQL: Câu 26: Câu lệnh sửa cấu trúc bảng SQL: Câu 27: Cấu trúc khai báo SP: Câu 28: Cú pháp câu lệnh xoá liệu: Câu 29: Cú pháp đầy đủ câu lệnh ràng buộc Primary Key? Câu 30: Cú pháp xố khung nhìn View: Câu 31: Sử dụng từ khố GROUP BY câu lệnh select khi: : trường hợp danh sách chọn câu lệnh SELECT có hàm gộp biểu thức hàm gộp biểu thức phải có mặt đầy đủ mệnh đề GROUP BY, không câu lệnh không hợp lệ Câu 32: Trong bảng, cột chứa nhiều giá trị giống nhau, bạn muốn liệt kê giá trị khác (khác biệt) Phải dùng cú pháp Select DISTINCT Câu 33: Hàm nội tuyến là: : Trả bảng dựa câu lệnh SQL định nghĩa dòng cột trả Câu 34: Hàm SELECT COUNT(DISTINCT column_name) FROM table_name trả giá trị ? Câu 35: Từ khố LIKE(NOT LIKE) sử dụng câu lệnh SELECT nhằm: trả giá trị giống ( khác nhau) sở liệu ( bảng) Câu 36: Trong câu lệnh hiển thị liệu Select, từ khố ‘‘Top n’’ có tác dụng: Câu 37: Cho bảng sinhvien gồm trường sau: masv, hoten, gioitinh, ngaysinh, diachi, malop, hocbong Câu lệnh trả kết sinh viên có năm sinh từ 1991 đến 1993 nhóm theo masv? Select * From sinhvien Where year(ngaysinh) betweent 1991 and 1993 Câu 38: Cú pháp tạo hàm dạng Scalar: CREATE FUNCTION tên_hàm ([danh_sách_tham_số]) (kiểu_trả_về_của_hàm) AS BEGIN các_câu_lệnh_của_hàm RETURNS Câu 39: Trong câu lệnh hiển thị liệu Select, từ khoá ‘‘INTO ’’ có tác dụng: Câu lệnh SELECT … INTO có tác dụng tạo bảng có cấu trúc liệu xác định từ kết qả truy vấn Câu 40: Cấu trúc câu lệnh Case SQL? Câu 41: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: DiemKhoiA(SoBaoDanh Nvarchar(50), DiemToan Float, DiemLy Float, DiemHoa Float, DiemUuTien Float, TongDiem Float, KetQua Nvarchar(50)) Câu lệnh đếm tổng số thí sinh có kết ‘‘đỗ’’: Select count(sobaodanh) From diemkhoiA Where ketqua=’đỗ’ Câu 42: Cú pháp ‘’order by’’ gì? Câu 43: Câu lệnh truy vấn lồng sau cho kết gì? Select phongban.tenpb, count (* ) as soluong From nhanvien phongban Where nhanvien.phongban=phongban.mpb Group by tenpb Having count (*) >= all ( Select count (*) From nhanvien Group by tenpb ) Câu 44: Trigger là: Câu 45: Trường hợp ta cần sử dụng cấu trúc lệnh SELECT lồng nhau: Câu 46: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: DiemKhoiA(SoBaoDanh Nvarchar(50), DiemToan Float, DiemLy Float, DiemHoa Float, DiemUuTien Float, TongDiem Float, KetQua Nvarchar(50)) Cho biết thơng tin thí sinh có môn thi bị điểm liệt (điểm liệt = 0)? Câu 47: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: DiemKhoiA(SoBaoDanh Nvarchar(50), DiemToan Float, DiemLy Float, DiemHoa Float, DiemUuTien Float, TongDiem Float, KetQua Nvarchar(50)) Câu lệnh hiển thị thông tin người có tổng điểm mơn cao nhất: Câu 48: Trong câu lệnh hiển thị liệu Select, từ khoá Distinct có tác dụng: Câu 49: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: DiemKhoiA(SoBaoDanh Nvarchar(50), DiemToan Float, DiemLy Float, DiemHoa Float, DiemUuTien Float, TongDiem Float, KetQua Nvarchar(50)) Câu lệnh chọn lọc danh sách thí sinh có tổng điểm (TongDiem) từ 13 điểm trở lên? Câu 50: Người dùng thường tạo Trigget cấm nhập liệu áp dụng cho bảng cha hay bảng con? Câu 51: cú pháp câu lệnh tạo trigger: Câu 52: Trong câu lệnh hiển thị liệu Select, dấu ‘‘*’’ có tác dụng: Câu 53: Hàm trả số nguyên bé giá trị Câu 54: Lệnh upper dùng để: Câu 55: Truy vấn lồng phân cấp ? Câu 56: Left outer join : Câu 57: Cơ sở liệu ‘‘QuanLyCuaHang’’có bảng: DmHangHoa(DmHangHoaID Nvarchar(50), TenHang Nvarchar(200), DmNhaSanXuatREF Nvarchar(50), TenHang Nvarchar(50)) Để chọn lọc thơng tin: tên hàng, đơn vị tính mặt hàng Ta thực lệnh hợp lý nhất? Select tên hàng, đơn vị tính From Dmhanghoa Câu 58: Cơ sở liệu ‘‘QuanLyCuaHang’’ có bảng: HoaDonBanHang( HoaDonBanHangID Nvarchar(50), NgayLapHoaDon Datetime, DmNhanVienREF Nvarchar(50), DmKhachHangREF Nvarchar(50), TongTienBan Bigint) bảng: DmKhachHang (DmKhachHangID Nvarchar(50), HoTenKhachHang Nvarchar(200), DiaChiKhachHang Nvarchar(400), DienThoaiKhachHang Nvarchar(50), EmailKhachHang Nvarchar(200), MaSoThueKhachHang Nvarchar(50),TaiKhoanKhachHang Nvarchar(200)) Tạo SP cho biết thông tin hoá đơn (mã hoá đơn, họ tên khách hàng, ngày lập hoá đơn, tổng tiền) khách hàng mua năm (mà giá trị năm truyền vào từ tham số)? Câu 60: Cho biết đoạn mã sau thực cơng việc gì: SELECT HoaDonBanHangID, NgayLapHoaDon , DmNhanVienREF, DmKhachHangREF, TongTienBan FROM HoaDonBanHang INNER JOIN DmKhachHang ON HoaDonBanHang DmKhachHangREF = DmKhachHang DmKhachHangID WHERE HoTenKhachHang = N‘Phạm Thu Vân’ AND YEAR(NgayLapHoaDon)=2011 - Lấy trường từ hai bảng , điều kiện khách hàng tên “pham thu vân ‘và năm lập hóa đơn năm 2011 Câu 61: Cơ sở liệu ‘‘QuanLyCuaHang’’có bảng: HoaDonBanHangChiTiet( HoaDonBanHangChiTietID Nvarchar(50), HoaDonBanHangFK Nvarchar(50), DmTenKhachHangREF Nvarchar(50), DmHangHoaREF Nvarchar(50), SoLuongBan Int, DonGiaBan Bigint, ThanhTienBan Bigint) Cho biết thông tin mặt hàng bán từ 10 sản phẩm trở lên? Select * ,count(DmHangHoaREF) From hoadonbanhangchitiet Where soluongban>=10 Câu 62: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: DiemKhoiA(SoBaoDanh Nvarchar(50), DiemToan Float, DiemLy Float, DiemHoa Float, DiemUuTien Float, TongDiem Float, KetQua Nvarchar) Câu lệnh xếp danh sách thí sinh theo tổng điểm từ cao xuống thấp: Select sobaodanh,tongdiem From diemkhoia Order by tongdiem des Câu 63: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: HoSoThiSinh(SoBaoDanh Nvarchar(50), HoDem Nvarchar(50), Ten Nvarchar(50), NgaySinh Datetime, KhuVuc Nvarchar(50), DoiTuong Nvarchar(50), KhoiThi Nvarchar(50), DiaChi Nvarchar(400), NguyenVong1 Nvarchar(200), NguyenVong2 Nvarchar(200)) nhập liệu Viết câu lệnh cho biết thơng tin thí sinh có họ tên ‘‘Trần Bình Minh’’: Select * ,hodem+ten as hoten From hosothisinh Where hoten=’tran binh minh’ Câu 64: Cơ sở liệu ‘‘QuanLyCuaHang’’ có bảng: HoaDonBanHang( HoaDonBanHangID Nvarchar(50), NgayLapHoaDon Datetime, DmNhanVienREF Nvarchar(50), DmKhachHangREF Nvarchar(50), TongTienBan Bigint) Cho biết thơng tin hố đơn bán ngày 20/3/2011 Select * From hoadonbanhang Where ngaylaphoadon=’20/3/2011’ Câu 65: Cơ sở liệu ‘‘QuanLyCuaHang’’ có bảng: DmNhaCungCap (DmNhaCungCapID Nvarchar(50), TenNhaCungCap Nvarchar(200), DiaChiNhaCungCap Nvarchar(200), DienThoaiNhaCungCap Nvarchar(50), FaxNhaCungCap Nvarchar(50), EmailNhaCungCap Nvarchar(50), WebsiteNhaCungCap Nvarchar(200) , MaSoThueNhaCungCap Nvarchar(50), TaiKhoanNhaCungCap Nvarchar(50)) Tạo chương trình tính số lượng nhà cung cấp ? Câu 66: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: HoSoThiSinh(SoBaoDanh Nvarchar(50), HoDem Nvarchar(50), Ten Nvarchar(50), NgaySinh Datetime, KhuVuc Nvarchar(50), DoiTuong Nvarchar(50), KhoiThi Nvarchar(50), DiaChi Nvarchar(400), NguyenVong1 Nvarchar(200), NguyenVong2 Nvarchar(200)) nhập liệu Viết câu lệnh tính số lượng thí sinh thi khối A? Select count(sobaodanh),khoithi From hosothisinh Where khoithi=’A’ Câu 67: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: HoSoThiSinh(SoBaoDanh Nvarchar(50), HoDem Nvarchar(50), Ten Nvarchar(50), NgaySinh Datetime, KhuVuc Nvarchar(50), DoiTuong Nvarchar(50), KhoiThi Nvarchar(50), DiaChi Nvarchar(400), NguyenVong1 Nvarchar(200), NguyenVong2 Nvarchar(200)) nhập liệu Hãy thực câu lệnh đếm số lượng thí sinh khu vực = ‘‘3’’ ? Select count(sobaodanh),khuvuc From hosothisinh Where khuvuc=’3’ Câu 68: Truy vấn lồng tương quan là? Câu 69: Cho hai bảng Persons(P_ID, lastname, firstname, address, city) Orders(O_ID, P_ID, OrderNO) Lệnh sau hiển thị thơng tin gì? SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.P_Id=Orders.P_Id ORDER BY Persons.LastName Hiển thị thong tin từ hai bảng cho xếp theo trường Persons.LastName Câu 70: Cơ sở liệu ‘‘QuanLyCuaHang’’ có bảng: HoaDonBanHang( HoaDonBanHangID Nvarchar(50), NgayLapHoaDon Datetime, DmNhanVienREF Nvarchar(50), DmKhachHangREF Nvarchar(50), TongTienBan Bigint) Viết lệnh giảm tổng tiền trả 10% cho hoá đơn xuất ngày 30/4/2011 ngày 1/5/2011? If(ngaylaphoadon=’30/4/2011 and ngaylaphoadon=’1/5/2011’) Update tongtienban set =tongtienban*0.9 Câu 71: Cơ sở liệu ‘‘QuanLyCuaHang’’có bảng: DmHangHoa(DmHangHoaID Nvarchar(50), TenHang DmNhaSanXuatREF Nvarchar(50), DonViTinh Nvarchar(50)) Cho biết nhà tổng số lượng mặt hàng? Select sum(tenhang) as Tongsoluong From DMhanghoa Nvarchar(200), Câu 72: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: HoSoThiSinh(SoBaoDanh Nvarchar(50), HoDem Nvarchar(50), Ten Nvarchar(50), NgaySinh Datetime, KhuVuc Nvarchar(50), DoiTuong Nvarchar(50), KhoiThi Nvarchar(50), DiaChi Nvarchar(400), NguyenVong1 Nvarchar(200), NguyenVong2 Nvarchar(200)) nhập liệu Thực câu lệnh sửa tên thí sinh có số báo danh ‘‘DQKD.2789’’ ‘‘Hằng’’ thành ‘‘Hạnh’’ : Select Ten From HoSoThiSinh Update Ten set “Hằng”=”Hạnh” Where SoBaoDanh=’DQKD.2789’ Câu 73: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: DiemKhoiA(SoBaoDanh Nvarchar(50), DiemToan Float, DiemLy Float, DiemHoa Float, DiemUuTien Float, TongDiem Float, KetQua Nvarchar(50)) Câu lệnh cho biết với loại tổng điểm có thí sinh? Câu 74: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: DiemKhoiA(SoBaoDanh Nvarchar(50), DiemToan Float, DiemLy Float, DiemHoa Float, DiemUuTien Float, TongDiem Float, KetQua Nvarchar(50)) Sử dụng câu lệnh hợp lý để đếm số thí sinh loại tổng điểm cho thí sinh có kết đỗ: Câu 75: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: HoSoThiSinh(SoBaoDanh Nvarchar(50), HoDem Nvarchar(50), Ten Nvarchar(50), NgaySinh Datetime, KhuVuc Nvarchar(50), DoiTuong Nvarchar(50), KhoiThi Nvarchar(50), DiaChi Nvarchar(400), NguyenVong1 Nvarchar(200), NguyenVong2 Nvarchar(200)) nhập liệu Muốn biết thơng tin thí sinh có địa tỉnh: Nghệ An, Hà Tĩnh, Quảng Bình Ta thực lệnh? Câu 76: Cơ sở liệu ‘‘QuanLyCuaHang’’có bảng: HoaDonBanHang( HoaDonBanHangID Nvarchar(50), NgayLapHoaDon Datetime, DmNhanVienREF Nvarchar(50), DmKhachHangREF Nvarchar(50), TongTienBan Bigint) bảng: DmNhanVien (DmNhanVienID Nvarchar(50), HoTenNhanVien Nvarchar(200), ChucVuNhanVien Nvarchar(50)) Cho biết số lượng hoá đơn nhân viên xuất năm 2010? Câu 77: Cơ sở liệu ‘‘QuanLyCuaHang’’có bảng: HoaDonBanHang( HoaDonBanHangID Nvarchar(50), NgayLapHoaDon Datetime, DmNhanVienREF Nvarchar(50), DmKhachHangREF Nvarchar(50), TongTienBan Bigint) bảng: HoaDonBanHangChiTiet( HoaDonBanHangChiTietID Nvarchar(50), HoaDonBanHangFK Nvarchar(50), DmTenKhachHangREF Nvarchar(50), DmHangHoaREF Nvarchar(50), SoLuongBan Int, DonGiaBan Bigint, ThanhTienBan Bigint) Muốn biết thơng tin: mã hố đơn, ngày lập hố đơn, mã hàng, đơn giá, số lượng tất mặt hàng bán ngày 24/3/2011, ta sử dụng lệnh: Select mã hoá đơn, ngày lập hoá đơn, mã hàng, đơn giá, số lượng From hoadonbanhang inner join hoadonbanhangchitiet on hoadonbanhang.hoadonbanhangid=hoadonbanhangchitiet.hoadonbanhangchitietid Where ngaylaphoadon=’24/3/2011’ Câu 78: Cơ sở liệu ‘‘QuanLyCuaHang’’ có bảng: HoaDonBanHang( HoaDonBanHangID Nvarchar(50), NgayLapHoaDon Datetime, DmNhanVienREF Nvarchar(50), DmKhachHangREF Nvarchar(50), TongTienBan Bigint) bảng: DmKhachHang (DmKhachHangID Nvarchar(50), HoTenKhachHang Nvarchar(200), DiaChiKhachHang Nvarchar(400), DienThoaiKhachHang Nvarchar(50), EmailKhachHang Nvarchar(200), MaSoThueKhachHang Nvarchar(50),TaiKhoanKhachHang Nvarchar(200)) Viết lệnh cho biết thơng tin hố đơn khách hàng "Phạm Thu Vân" mua năm 2011? Select mã hoá đơn, ngày lập hoá đơn, mã hàng, đơn giá, số lượng From hoadonbanhang inner join hoadonbanhangchitiet on hoadonbanhang.hoadonbanhangid=hoadonbanhangchitiet.hoadonbanhangchitietid Where year(ngaylaphoadon)=’2011’ and hoten=’Pham thu Van’ Câu 79: Cơ sở liệu ‘‘QuanLyCuaHang’’có bảng: HoaDonBanHangChiTiet( HoaDonBanHangChiTietID Nvarchar(50), HoaDonBanHangFK Nvarchar(50), DmTenKhachHangREF Nvarchar(50), DmHangHoaREF Nvarchar(50), SoLuongBan Int, DonGiaBan Bigint, ThanhTienBan Bigint) Muốn cập nhật liệu cho cột thành tiền (thành tiền = đơn giá * số lượng), ta thực lệnh: Select * Update thanhtien set thanhtien=soluong*dongia Câu 80: Cho biết đoạn mã sau thực cơng việc gì: Câu 81: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: DiemKhoiA(SoBaoDanh Nvarchar(50), DiemToan Float, DiemLy Float, DiemHoa Float, DiemUuTien Float, TongDiem Float, KetQua Nvarchar(50)) Câu lệnh tính số thí sinh có điểm cao tổng điểm thí sinh có số báo danh ‘‘DQKA.2769’’: Select count(sobaodanh),tongdiem From DiemKhoiA Where (select sobaodanh,tongdiem from diemkhoia Where sobaodanh=’DQKA.2769’) Câu 82: Cơ sở liệu ‘‘QuanLyCuaHang’’có bảng: DmHangHoa(DmHangHoaID Nvarchar(50), TenHang Nvarchar(200), DmNhaSanXuatREF Nvarchar(50), DonViTinh Nvarchar(50)) bảng: DmNhaSanXuat(DmNhaSanXuatID Nvarchar(50), TenNhaSanXuat Nvarchar(200), DiaChiNhaSanXuat Nvarchar(400),WebsiteNhaSanXuat Nvarchar(200)) Để biết thông tin nhà sản xuất Việt Nam Ta thực lệnh? Câu 83: Cơ sở liệu ‘‘QuanLyTuyenSinh’’có bảng: HoSoThiSinh(SoBaoDanh Nvarchar(50), HoDem Nvarchar(50), Ten Nvarchar(50), NgaySinh Datetime, KhuVuc Nvarchar(50), DoiTuong Nvarchar(50), KhoiThi Nvarchar(50), DiaChi Nvarchar(400), NguyenVong1 Nvarchar(200), NguyenVong2 Nvarchar(200)) nhập liệu Viết câu lệnh tính số lượng thí sinh thi khối D? Select count(sobaodanh),khoi From hosothisinh Where khoi=’D’ Câu 84: Cho bảng liệu NHAN VIEN với cột sau: MANV, HOTEN, NGAYSINH Lọc nhân viên có năm sinh nhỏ 1987? Select manv,hoten,ngaysinh From nhanvien Where year(ngaysinh)