- 3 file Database
download mediafire:
- Code:
-
http://q.gs/1sOcW
- Hướng dẫn import SQL access
[code]go
use QuanLyHocVien
SET DATEFORMAT DMY
---Câu 163: Cho biết các thông tin, dữ liệu có trong bảng BienLai
GO
select *
from BIENLAI
--Câu 164 Cho biết các thông tin, dữ liệu có trong bảng GiaoVien,
GO
SELECT *
FROM GIAOVIEN
--Câu 165 Cho biết các thông tin, dữ liệu có trong bảng HocVien,
GO
SELECT *
FROM HOCVIEN
--Câu 166 Cho biết các thông tin, dữ liệu có trong bảng KhoaHoc,
GO
SELECT *
FROM KHOAHOC
--Câu 167 Cho biết các thông tin, dữ liệu có trong bảng LopHoc
GO
SELECT *
FROM LOPHOC
--Câu 168 Cho biết thông tin của giáo viên có Mã giáo viên là 1
GO
SELECT *
FROM GIAOVIEN
WHERE MAGV = 1
--Câu 169 Cho biết thông tin của giáo viên có họ Lê
GO
SELECT *
FROM GIAOVIEN
WHERE HOTEN LIKE 'Lê %'
--Câu 170 Cho biết thông tin của giáo viên sinh vào năm 1960
GO
SELECT *
FROM GIAOVIEN
WHERE YEAR(NAMSINH)=1960
--Câu 171 cho biết thông tin của giáo viên sinh vào tháng 3
GO
SELECT *
FROM GIAOVIEN
WHERE MONTH(NAMSINH)= 3
--Câu 172 cho biết thông tin của giáo viên cư trú tại Quận 1
GO
SELECT *
FROM GIAOVIEN
WHERE DIACHI LIKE N'%Quận 1%'
--Câu 173 Cho biết thông tin của học viên có mã là 5
GO
SELECT *
FROM HOCVIEN
WHERE MAHV=5
--Câu 174 cho biết Mã học viên, họ tên và ngày sinh
--của các học viên tên Hương
GO
SELECT MAHV,(HO + TEN) AS HOTEN, NAMSINH
FROM HOCVIEN
WHERE TEN LIKE N'Hương'
--Câu 175 cho biết mã học viên, họ tên và ngày sinh
-- của các học viên có họ Đỗ
GO
SELECT MAHV,(HO + TEN) AS HOTEN, NAMSINH
FROM HOCVIEN
WHERE HO LIKE N'Đỗ %'
--Câu 176 cho biết mã học viên, họ tên và ngày sinh
-- của các học viên có nghề nghiệp là học sinh
GO
SELECT MAHV,(HO + TEN) AS HOTEN, NAMSINH
FROM HOCVIEN
WHERE NGHENGHIEP like N'Học Sinh'
--Câu 177 Cho biết tên khóa học, ngày bắt đầu,
-- ngày kết thúc của khóa học có mã là PT197
GO
SELECT TENKH,BATDAU,KETTHUC
FROM KHOAHOC
WHERE MAKH = 'PT197'
--Câu 178 cho biết thông tin về lớp học học tại phòng 101
GO
SELECT *
FROM LOPHOC
WHERE PHOC=101
--Câu 179 cho biết thông tin về lớp học có tên là Tiếng pháp
-- chuyên tu A
GO
SELECT *
FROM LOPHOC
WHERE TENLOP LIKE N'Tiếng pháp chuyên tu A'
--Câu 180 cho biết thông tin về lớp học thuộc khóa PT297
GO
SELECT *
FROM LOPHOC
WHERE MAKH LIKE 'PT297'
--Câu 181 cho biết thông tin về các biên lai đã lập cho lớp 1
GO
SELECT *
FROM BIENLAI
WHERE MALH=1
--Câu 182 cho biết mã học viên, họ tên, ngày sinh,…
--của học viên học khóa PT197
GO
SELECT HOCVIEN.*
FROM HOCVIEN,BIENLAI
WHERE HOCVIEN.MAHV=BIENLAI.MAHV
AND MAKH='PT197'
--Câu 183 cho biết mã học viên, họ tên, ngày sinh…
--của học viên thuộc lớp 2 và khóa PT297
GO
SELECT HOCVIEN.*
FROM HOCVIEN,BIENLAI
WHERE HOCVIEN.MAHV=BIENLAI.MAHV
AND MAKH='PT297' AND MALH=2
--Câu 184 cho biết mã học viên, họ tên,
-- ngày sinh…của học viên có kết quả Đậu
GO
SELECT HOCVIEN.*
FROM HOCVIEN,BIENLAI
WHERE HOCVIEN.MAHV=BIENLAI.MAHV
AND KETQUA LIKE N'Đậu'
--Câu 185 cho biết mã học viên, họ tên, ngày sinh…
--của học viên có kết quả Đậu trong khóa
--PT197. Dữ liệu sắp xếp tăng dần theo Tên, nếu trùng tên
--tăng dần theo họ, ngày sinh.
GO
SELECT HOCVIEN.*
FROM HOCVIEN,BIENLAI
WHERE HOCVIEN.MAHV=BIENLAI.MAHV
AND KETQUA LIKE N'Đậu' AND MAKH='PT197'
ORDER BY TEN,HO,NAMSINH ASC
--Câu 186 cho biết mã học viên, họ tên, ngày sinh…
--của học viên xếp loại Giỏi. Dữ liệu xếp tăng
--dần theo Khoa, Tên, Họ,..
go
select HOCVIEN.*
from HOCVIEN,BIENLAI
where HOCVIEN.MAHV=BIENLAI.MAHV
and XEPLOAI=N'Giỏi'
order by MAKH,MALH,HO,TEN,NAMSINH asc
--Câu 187 cho biết mã học viên, họ tên, ngày sinh…
--của học viên xếp loại giỏi và được miễn học phí
go
select HOCVIEN.*
from HOCVIEN, BIENLAI
where HOCVIEN.MAHV=BIENLAI.MAHV
and XEPLOAI = N'Giỏi' and (TIENNOP=NULL or TIENNOP=0)
--Câu 188 Cho biết mã lớp, tên lớp mà giáo viên Trần Thanh đã dạy
GO
SELECT MALOP,TENLOP
FROM GIAOVIEN, LOPHOC
WHERE GIAOVIEN.MAGV=LOPHOC.MAGV
AND HOTEN LIKE N'Trần Thanh'
--Câu 189 cho biết thông tin về lớp trưởng các lớp (mã số, họ tên, ngày sinh, địa chỉ..)
go
select HOCVIEN.*
from HOCVIEN,LOPHOC
where HOCVIEN.MAHV=LOPHOC.ltrg
--Câu 190 cho biết kết quả cuối khóa (Điểm, kết quả, xếp loại)
--của học viên do giáo viên Trần Thanh hoặc Hồ Nhân dạy trong khóa học PT197
go
select BIENLAI.MAHV,DIEM,KETQUA,XEPLOAI
from BIENLAI,LOPHOC,GIAOVIEN
where BIENLAI.MALH=LOPHOC.MALOP and LOPHOC.MAGV=GIAOVIEN.MAGV
and BIENLAI.MAKH='PT197' and (GIAOVIEN.HOTEN like N'Trần Thanh' or GIAOVIEN.HOTEN like
N'Hồ Nhân')
--ALTER AUTHORIZATION ON DATABASE::QuanLyHocVien to [sa]
--Câu 191 Cho biết danh sách lớp học và số lượng học viên thực sự của lớp đó
select MALH, COUNT(*) as SLHV
from BIENLAI
group by MALH
--Câu 192 cho biết họ tên, ngày sinh, địa chỉ của học viên
-- có điểm cao nhất trong khóa có mã số PT297
SELECT TOP 1 WITH TIES HOCVIEN.*,DIEM
from BIENLAI,HOCVIEN
WHERE BIENLAI.MAHV=HOCVIEN.MAHV
ORDER BY DIEM DESC
--Câu 193 cho biết tên lớp, tên giáo viên phụ trách,
--sĩ sỗ dự kiến của lớp và phòng học của các lớp bắt đầu trước ngày 17/4/2008
SELECT TENLOP,GIAOVIEN.HOTEN,SISODK,PHOC
FROM LOPHOC,GIAOVIEN,KHOAHOC
WHERE LOPHOC.MAGV=GIAOVIEN.MAGV AND KHOAHOC.MAKH=LOPHOC.MAKH
AND KHOAHOC.BATDAU='17/4/2008'
--Câu 194 cho biết tên các lớp học và điểm trung bình của học viên thuộc lớp đó
SELECT TENLOP,AVG(DIEM) AS DTB
FROM LOPHOC,BIENLAI
WHERE BIENLAI.MALH=LOPHOC.MALOP
GROUP BY TENLOP
--Câu 195 cho biết tên lớp học, số lượng học viên xếp loại khá giỏi của từng lớp
SELECT TENLOP,COUNT(MAHV) AS SOLUONGHVG
FROM BIENLAI,LOPHOC
WHERE BIENLAI.MALH=LOPHOC.MALOP AND (XEPLOAI LIKE N'Giỏi' OR XEPLOAI LIKE N'Khá')
GROUP BY TENLOP
--Câu 196 cho biết họ tên học viên, tên lớp và số biên lai của
--các lớp học kết thúc trước ngày 30/5/2008
SELECT HO+TEN AS HOTEN, TENLOP, SOBL
FROM BIENLAI,KHOAHOC,LOPHOC,HOCVIEN
WHERE HOCVIEN.MAHV=BIENLAI.MAHV AND LOPHOC.MALOP=BIENLAI.MALH
AND KHOAHOC.MAKH=BIENLAI.MAKH AND KETTHUC<'30/5/2008'
--Câu 197 cho biết tên những lớp có sĩ số thực sự vượt sĩ số dự kiến
SELECT TENLOP, COUNT(MAHV) AS SISOTHUC,SISODK
FROM BIENLAI,LOPHOC
WHERE BIENLAI.MALH=LOPHOC.MALOP
GROUP BY TENLOP,SISODK
HAVING COUNT(MAHV) > SISODK
--Câu 198 cho biết tên những lớp có sĩ số thực sự ít nhất
SELECT TOP 1 WITH TIES TENLOP, COUNT(MAHV) AS SISOTHUC
FROM BIENLAI,LOPHOC
WHERE BIENLAI.MALH=LOPHOC.MALOP
GROUP BY TENLOP
ORDER BY SISOTHUC ASC
---Câu 199 cho biết họ tên, địa chỉ học viên là giáo viên đồng thời là lớp trưởng
SELECT HO+TEN AS HOTEN,DIACHI
FROM LOPHOC,HOCVIEN
WHERE LOPHOC.LTRG=HOCVIEN.MAHV AND NGHENGHIEP LIKE N'Giáo viên'
--Câu 200 cho biết tên giáo viên và số lượng lớp học mà giáo viên đó đã dạy
select GIAOVIEN.HOTEN, COUNT(LOPHOC.MALOP) AS SLLH
from LOPHOC,GIAOVIEN
WHERE LOPHOC.MAGV=GIAOVIEN.MAGV
GROUP BY GIAOVIEN.HOTEN
--Câu 201 cho biết họ tên và kết quả học tập của học viên được miễn học phí
SELECT HO+TEN AS HOTEN, KETQUA
FROM BIENLAI,HOCVIEN
WHERE BIENLAI.MAHV=HOCVIEN.MAHV AND (TIENNOP=0 OR TIENNOP IS NULL)
--Câu 202 cho biết tên khóa học và số lượng lớp học của từng khóa
SELECT TENKH,COUNT(LOPHOC.MAKH)AS SOLUONGLH
FROM KHOAHOC,LOPHOC
WHERE LOPHOC.MAKH=KHOAHOC.MAKH
GROUP BY TENKH
--Câu 203 cho biết mã số, họ tên những học viên thi rớt ít nhất 2 lần
SELECT HOCVIEN.MAHV, HO+TEN AS HOTEN,COUNT(KETQUA) AS THIROT
FROM HOCVIEN,BIENLAI
WHERE HOCVIEN.MAHV=BIENLAI.MAHV
AND KETQUA LIKE N'Không Đậu'
GROUP BY HOCVIEN.MAHV,HO,TEN
HAVING COUNT(KETQUA)>=2
--Câu 204 cho biết tên các lớp học, điểm số cao nhất cuả các học viên thuộc lớp đó
SELECT TENLOP,MAX(DIEM) AS DIEMCAONHAT
FROM LOPHOC,BIENLAI
WHERE LOPHOC.MALOP=BIENLAI.MALH
GROUP BY TENLOP
--Câu 205 cho biết tên và mã số các lớp học có sĩ số thực sự nhiều nhất
SELECT TOP 1 WITH TIES TENLOP,BIENLAI.MALH, COUNT(MAHV) AS SISOTHUC
FROM LOPHOC,BIENLAI
WHERE BIENLAI.MALH=LOPHOC.MALOP
GROUP BY BIENLAI.MALH,TENLOP
ORDER BY COUNT(MAHV) DESC
--Câu 206 cho biết tên lớp học, tên giáo viên phụ trách,
--sĩ số dự kiến của lớp học đang diễn ra vào ngày 17/4/2008
SELECT TENLOP,GIAOVIEN.HOTEN,SISODK, BATDAU, KETTHUC
FROM LOPHOC,GIAOVIEN,KHOAHOC
WHERE LOPHOC.MAKH=KHOAHOC.MAKH AND GIAOVIEN.MAGV=LOPHOC.MAGV
AND ( BATDAU<='17/4/2008' AND KETTHUC >= '17/4/2008')
--Câu 207 cho biết tên lớp và số lượng học viên Đậu của từng lớp
SELECT TENLOP, COUNT(KETQUA) AS SOLUONG
FROM BIENLAI,LOPHOC
WHERE BIENLAI.MALH=LOPHOC.MALOP AND KETQUA=N'Đậu'
GROUP BY TENLOP
--Câu 208 cho biết tên và kết quả học tập của những học viên là lớp trưởng của từng lớp
SELECT HO+TEN AS HOTEN, DIEM,XEPLOAI, KETQUA
FROM HOCVIEN,LOPHOC,BIENLAI
WHERE HOCVIEN.MAHV=LOPHOC.LTRG AND BIENLAI.MAHV=HOCVIEN.MAHV
--Câu 209 cho biết danh sách lớp học và số lượng học viên thực sự của lớp đó
SELECT MALH,COUNT(MAHV)AS SOLUONGTHUCSU
FROM BIENLAI
GROUP BY MALH
--Câu 210 cho biết tên lớp, số lượng học viên Không đậu,
--số lượng học viên xếp loại trung bình hoặc yếu trong lớp học đó
SELECT MALH,COUNT(BIENLAI.MAHV) AS SOLUONG INTO SLSV
FROM BIENLAI
GROUP BY MALH
SELECT MALH,COUNT(MAHV) AS SOLUONGKHONGDAU INTO SLSVKD
FROM BIENLAI
WHERE KETQUA LIKE N'Không Đậu'
GROUP BY MALH
SELECT MALH,COUNT(MAHV) AS SOLUONGTBY INTO SLSVTBY
FROM BIENLAI
WHERE XEPLOAI LIKE N'Trung Bình' OR XEPLOAI LIKE N'Yếu'
GROUP BY MALH
SELECT SOLUONG,SOLUONGKHONGDAU,SOLUONGTBY,SLSVKD.MALH
FROM SLSVKD,SLSV,SLSVTBY
WHERE SLSV.MALH=SLSVKD.MALH AND SLSV.MALH=SLSVTBY.MALH
--Câu 211 cho biết thông tin về học viên, kết quả học tập của học viên phải đóng học phí
SELECT HOCVIEN.*, DIEM, KETQUA,XEPLOAI
FROM BIENLAI,HOCVIEN
WHERE BIENLAI.MAHV=HOCVIEN.MAHV AND (TIENNOP=0 OR TIENNOP IS NULL)