• 25 Ví Dụ về Ôn Tập SQL Quản Lý Sinh Viên

25 Ví Dụ về Ôn Tập SQL Quản Lý Sinh Viên

Đây là mẫu 25 ví dụ về phần SQL Quản Lý Sinh Viên của môn Cơ Sở Dữ Liệu mà Tâm Gà đã vừa lên bài tập, vừa giải luôn cho các bạn. Phần còn lại, bạn xem giúp Tâm Gà, coi mình giải đúng chưa nhé. Nếu giải chưa đúng thì comment trong cái khung bên dưới, để mình coi sai chỗ nào, mình còn sửa cho các bạn khác theo dõi nữa. Nói chứ, môn học này khá hay, nhưng chua ghê nơi, setup code cho đã, nhấn nút Play nó không chạy, là xác định thi rớt môn này rồi đó. Xin chúc cho các bạn đừng bị xui quá, trong phần thi kết thúc môn Hệ Cơ Sở Dữ Liệu SQL này nhé.

25 Ví Dụ về Ôn Tập SQL Quản Lý Sinh Viên

25 Ví Dụ về Ôn Tập SQL Quản Lý Sinh Viên


Giờ thì xem sơ qua cái đề này nhé.
Cho lược đồ CSDL quản lý điểm sinh viên, gồm các lược đồ quan hệ sau:
SinhVien(MaSV, HoTen, Nu, NgaySinh, MaLop, HocBong, Tinh)
Lop(MaLop, TenLop, MaKhoa)
Khoa(MaKhoa, TenKhoa, SoCBGD)
MonHoc(MaMH, TenMH, SoTiet)
KetQua(MaSV, MaMH, DiemThi)


Ví dụ 1: Liệt kê danh sách các lớp của khoa, thông tin cần Malop, TenLop, MaKhoa
SELECT *
FROM Lop

Ví dụ 2: Lập danh sách sinh viên gồm: MaSV, HoTen, HocBong
SELECT MaSV, Hoten, HocBong
FROM SinhVien

Ví dụ 3: Lập danh sách sinh viên có học bổng. Danh sách cần MaSV, Nu, HocBong
SELECT MaSV, Nu, HocBong
FROM SinhVien
WHERE HocBong>0

Ví dụ 4: Lập danh sách sinh viên nữ. Danh sách cần các thuộc tính của quan hệ sinhvien
SELECT *
FROM SinhVien
WHERE Nu =Yes

Ví dụ 5: Lập danh sách sinh viên có họ 'Trần'
SELECT *
FROM SinhVien
WHERE HoTen Like ‘Trần *’

Ví dụ 6: Lập danh sách sinh viên nữ có học bổng
SELECT *
FROM SinhVien
WHERE Nu=Yes AND HocBong>0

Ví dụ 7: Lập danh sách sinh viên nữ hoặc danh sách sinh viên có học bổng
SELECT *
FROM SinhVien
WHERE Nu=Yes OR HocBong>0

Ví dụ 8: Lập danh sách sinh viên có năm sinh từ 1978 đến 1985. Danh sách cần các thuộc tính của quan hệ SinhVien
SELECT *
FROM SinhVien
WHERE YEAR(NgaySinh) BETWEEN 1978 AND 1985

Ví dụ 9: Liệt kê danh sách sinh viên được sắp xếp tăng dần theo MaSV
SELECT *
FROM SinhVien
ORDER BY MaSV

Ví dụ 10: Liệt kê danh sách sinh viên được sắp xếp giảm dần theo HocBong
SELECT *
FROM SinhVien
ORDER BY HocBong DESC

Ví du11: Lập danh sách sinh viên có điểm thi môn CSDL>=8
SELECT SinhVien.MaSV, HoTen, Nu, NgaySinh, DiemThi
FROM SinhVien INNER JOIN KetQua ON SinhVien.MaSV = KetQua.MaSV
WHERE MaMH = ‘CSDL’ AND DiemThi>=8

Ví du 12: Lập danh sách sinh viên có học bổng của khoa CNTT. Thông tin cần: MaSV, HoTen, HocBong,TenLop
SELECT MaSV, HoTen, HocBong, TenLop
FROM Lop INNER JOIN SinhVien ON Lop.MaLop=SinhVien.MaLop
WHERE HocBong>0 AND MaKhoa ='CNTT'

Ví du 13: Lập danh sách sinh viên có học bổng của khoa CNTT. Thông tin cần: MaSV, HoTen, HocBong,TenLop, TenKhoa
SELECT MaSV, HoTen, HocBong, TenLop,TenKhoa
FROM ((Lop INNER JOIN SinhVien ON Lop.MaLop=SinhVien.MaLop) INNER JOIN Khoa ON Khoa.MaKhoa=Lop.MaKhoa)
WHERE HocBong>0 AND Khoa.MaKhoa ='CNTT'

Ví dụ 14: Cho biết số sinh viên của mỗi lớp
SELECT Lop.MaLop, TenLop, Count(MaSV) as SLsinhvien
FROM Lop INNER JOIN SinhVien ON Lop.MaLop = SinhVien.MaLop
GROUP BY Lop.MaLop, TenLop

Ví dụ 15: Cho biết số lượng sinh viên của mỗi khoa.
SELECT Khoa.MaKhoa, TenKhoa, Count(MaSV) as SLsinhvien
FROM ((Khoa INNER JOIN Lop ON Khoa.Makhoa = Lop.MaKhoa)INNER JOIN SinhVien ON Lop.MaLop = SinhVien.MaLop)
GROUP BY Khoa.MaKhoa, TenKhoa

Ví dụ 16: Cho biết số lượng sinh viên nữ của mỗi khoa.
SELECT Khoa.MaKhoa, TenKhoa, Count(MaSV) as SLsinhvien
FROM ((SinhVien INNER JOIN Lop ON Lop.MaLop = SinhVien.MaLop) INNER JOIN khoa ON KHOA.makhoa = SinhVien.makhoa)
WHERE Nu=Yes
GROUP BY Khoa.MaKhoa, TenKhoa

Ví dụ 17: Cho biết tổng tiền học bổng của mỗi lớp
SELECT Lop.MaLop, TenLop, Sum(HocBong) as TongHB
FROM (Lop INNER JOIN SinhVien ON Lop.MaLop = SinhVien.MaLop)
GROUP BY Lop.MaLop, TenLop

Ví dụ 18: Cho biết tổng số tiền học bổng của mỗi khoa
SELECT Khoa.MaKhoa, TenKhoa, Sum(HocBong) as TongHB
FROM ((Khoa INNER JOIN Lop ON Khoa.Makhoa = Lop.MaKhoa)INNER JOIN SinhVien ON Lop.MaLop = SinhVien.MaLop)
GROUP BY Khoa.MaKhoa, TenKhoa

Ví dụ 19: Lập danh sánh những khoa có nhiều hơn 100 sinh viên. Danh sách cần: MaKhoa, TenKhoa, Soluong
SELECT Khoa.MaKhoa, TenKhoa, Count(MaSV) as SLsinhvien
FROM ((Khoa INNER JOIN Lop ON Khoa.Makhoa = Lop.MaKhoa)INNER JOIN SinhVien ON Lop.MaLop = SinhVien.MaLop)
GROUP BY Khoa.MaKhoa, TenKhoa
HAVING Count(MaSV) >100

Ví dụ 20: Lập danh sánh những khoa có nhiều hơn 50 sinh viên nữ. Danh sách cần: MaKhoa, TenKhoa, Soluong
SELECT Khoa.MaKhoa, TenKhoa, Count(MaSV) as SLsinhvien
FROM ((Khoa INNER JOIN Lop ON Khoa.Makhoa = Lop.MaKhoa)INNER JOIN SinhVien ON Lop.MaLop = SinhVien.MaLop)
WHERE Nu=Yes
GROUP BY Khoa.MaKhoa, TenKhoa
HAVING Count(MaSV)>=50

Ví dụ 21: Lập danh sách những khoa có tổng tiền học bổng >=1000000.
SELECT Khoa.MaKhoa, TenKhoa, Sum(HocBong) as TongHB
FROM ((Khoa INNER JOIN Lop ON Khoa.Makhoa = Lop.MaKhoa)INNER JOIN SinhVien ON Lop.MaLop = SinhVien.MaLop)
GROUP BY Khoa.MaKhoa, TenKhoa
HAVING Sum(HocBong)>= 1000000

Ví dụ22: Lập danh sách sinh viên có học bổng cao nhất
SELECT SinhVien.*
FROM SinhVien
WHERE HocBong>= ALL(SELECT HocBong From Sinhvien)

Ví dụ 23: Lập danh sách sinh viên có điểm thi môn CSDL cao nhất
SELECT SinhVien.MaSV, HoTen, DiemThi
FROM SinhVien INNER JOIN KetQua ON SinhVien.MaSV = KetQua.MaSV
WHERE KetQua.MaMH= ‘CSDL’ AND DiemThi>=
ALL(SELECT DiemThi FROM KetQua WHERE MaMH = ‘CSDL’)

Ví dụ 24: Lập danh sách những sinh viên không có điểm thi môn CSDL.
SELECT SinhVien.MaSV, HoTen, DiemThi,MaMH
FROM SinhVien INNER JOIN KetQua ON SinhVien.MaSV = KetQua.MaSV
WHERE SinhVien.MaSV NOT In (Select MaSV From KetQua Where MaMH='CSDL')

Ví dụ 25: Cho biết những khoa nào có nhiều sinh viên nhất
SELECT Khoa.MaKhoa, TenKhoa, Count([MaSV]) AS SoLuongSV
FROM (Khoa INNER JOIN Lop ON Khoa.MaKhoa = Lop.MaKhoa) INNER JOIN SinhVien ON Lop.MaLop = SinhVien.MaLop
GROUP BY Khoa.MaKhoa, Khoa.TenKhoa
HaVing Count(MaSV)>=All(Select Count(MaSV) From ((SinhVien Inner Join Lop On Lop.Malop=SinhVien.Malop)Inner Join Khoa On Khoa.MaKhoa = Lop.MaKhoa )Group By Khoa.Makhoa)


25 Ví Dụ về Ôn Tập SQL Quản Lý Sinh Viên

Bạn đang xem một trong các bài viết tại Chuyên Mục CoSoDuLieu. Và đây là địa chỉ link bài viết https://www.c10mt.com/2012/12/25-vi-du-ve-on-tap-sql-quan-ly-sinh-vien.html . Tâm Gà xin cảm ơn bạn đã theo dõi bài viết này. Đừng quên nhấn LIKE Chia Sẻ để ủng hộ Tâm Gà nếu bài viết có ích !
Saturday, December 1, 2012 DMCA com Protection Status