Ôn tập Chương 4,5 - Cơ sở dữ liệu | Trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Thành phố Hồ Chí Minh

--Q1: Cho biết tên những thí sinh thi toán được điểm 10--
C1: SQL
SELECT TS.HoTen
FROM THI_SINH TS
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
JOIN MON_THI MT ON KQ.MaMT =MT.MaMT
WHERE MT.TenMT=N'Toán' AND KQ.Diem=10

Tài liệu được sưu tầm giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem !

lOMoARcPSD|46342985
lOMoARcPSD|46342985
MSSV: 22120426 Họ và tên: Tăng Thị Vân
--Q1: Cho biết tên những thí sinh thi toán được điểm 10--
C1: SQL
SELECT TS.HoTen
FROM THI_SINH TS
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
JOIN MON_THI MT ON KQ.MaMT =MT.MaMT
WHERE MT.TenMT=N'Toán' AND KQ.Diem=10
C2: ĐSQH
HoTen ( TenMT=’Toán’ ˄ Diem=10(THI_SINH KET_QUA MON_THI))
--Q2:Cho biết tên những thí sinh có tham gia thi tại cụm thi “Cụm 01 – Trường ĐKHTN”--
C1: SQL
SELECT TS.HoTen
FROM THI_SINH TS
JOIN CUM_THI CT ON TS.MaCumThi=CT.MaCumThi
WHERE CT.TenCum=N'Cụm 01 – Trường ĐKHTN'
C2: ĐSQH
HoTen ( TenCum=N’Cụm 01- Trường DKHTN’˄ Diem=10(THI_SINH CUM_THI))
--Q3: Cho biết tên những thí sinh ở cụm thi “Cụm 01 – Trường ĐKHTN” mà không
thi môn Toán—
C1: SQL
SELECT TS.HoTen
FROM THI_SINH TS
lOMoARcPSD|46342985
MSSV: 22120426 Họ và tên: Tăng Thị Vân
JOIN CUM_THI CT ON TS.MaCumThi = CT.MaCumThi
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
JOIN MON_THI MT ON KQ.MaMT = MT.MaMT
WHERE MT.TenMT<>N'Toán'
AND CT.TenCum=N'Cụm 01 – Trường ĐKHTN'
C2: ĐSQH
R THI_SINH KET_QUA MON_THI CUM_THI
KQ HoTen ( TenMT<>’Toán’ ˄ TenCum=N’Cụm 01- Trường DKHTN’ (R))
--Q4:Cho biết tên những thí sinh có tham gia thi cả 2 môn “Toán” và “Ngữ Văn”
C1: SQL
--Thi sinh thi mon toan
SELECT TS.HoTen
FROM THI_SINH TS
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
JOIN MON_THI MT ON KQ.MaMT=MT.MaMT
WHERE MT.TenMT=N'Toán'
INTERSECT
--Thi sinh thi ngu van
SELECT TS1.HoTen
FROM THI_SINH TS1
JOIN KET_QUA KQ1 ON TS1.SBD=KQ1.SBD
JOIN MON_THI MT1 ON KQ1.MaMT=MT1.MaMT
WHERE MT1.TenMT=N'Ngữ Văn'
C2: ĐSQH
R THI_SINH KET_QUA MON_THI
KQ HoTen ( TenMT=’Toán’ (R)) HoTen ( TenMT=’Ngữ Văn’ (R))
--Q5: Cho biết tên thí sinh và có điểm trung bình của tất cả các môn tham gia thi lớn
hơn hoặc bằng 8. Xuất ra SBD, tên thí sinh và điểm trung bình –
lOMoARcPSD|46342985
MSSV: 22120426 Họ và tên: Tăng Thị Vân
C1: SQL
SELECT TS.SBD,TS.HoTen,AVG(KQ.Diem) as DiemTrungBinh
FROM THI_SINH TS JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
GROUP BY TS.SBD,TS.HoTen
HAVING AVG (KQ.Diem)>=8
C2: ĐSQH
R1(SBD,HoTen,DiemTB) SBD,HoTen AVG(Diem) (THI_SINH KET_QUA)
R2(DiemTBMax) MAX(DiemTB)(R1)
KQ HoTen,DiemTB (R1 DiemTB=DiemTBMaxR2)
--Q6:Cho biết tên những thí sinh đã tham gia thi từ 5 môn trở lên. Xuất ra SBD, họ tên
và số môn đã tham gia thi.—
C1: SQL
SELECT TS.SBD,TS.HoTen,COUNT (KQ.MaMT) as SoLuongMonThi
FROM THI_SINH TS JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
GROUP BY TS.SBD,TS.HoTen
HAVING COUNT (KQ.MaMT)>=5
C2: ĐSQH
R1(SBD,HoTen,SoLuongMT) SBD,HoTen COUNT(MaMT) (THI_SINH KET_QUA)
KQ HoTen,SoLuongMT ( SoLuongMT>=5(R1))
--Q7:Cho biết tên và tổng điểm của thí sinh có tổng điểm thi cao nhất của cụm thi “Cụm 01
– Trường
ĐKHTN”— C1: SQL
SELECT TS.HoTen,SUM (KQ.Diem) as TongDiemMax
FROM THI_SINH TS
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
JOIN CUM_THI CT ON TS.MaCumThi=CT.MaCumThi
WHERE CT.TenCum=N'Cụm 01 – Trường ĐKHTN'
lOMoARcPSD|46342985
MSSV: 22120426 Họ và tên: Tăng Thị Vân
GROUP BY TS.HoTen
HAVING SUM (KQ.Diem) >=ALL
(SELECT SUM (KQ1.Diem)
FROM THI_SINH TS1
JOIN KET_QUA KQ1 ON TS1.SBD=KQ1.SBD
JOIN CUM_THI CT1 ON
TS1.MaCumThi=CT1.MaCumThi WHERE CT1.TenCum=N'Cụm
01 – Trường ĐKHTN' GROUP BY TS1.HoTen)
C2: ĐSQH
R ( TenCum=’Cụm 01-Trường ĐKHTN’ (THI_SINH KET_QUA CUM_THI)
R1(SBD,HoTen,TongDiem) SBD,HoTen SUM(Diem) (R)
R2(DiemMax)MAX(TongDiem)(R1)
KQ HoTen,TongDiem (R1 TongDiem=DiemMaxR2)
--Q8: Cho biết thí sinh nào có nhiều môn thi điểm 10 nhất.—
C1: SQL
SELECT TS.HoTen
FROM THI_SINH TS
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD JOIN
MON_THI MT ON KQ.MaMT=MT.MaMT
WHERE MT.TenMT=N'Toán' AND KQ.Diem=10
HAVING COUNT(KQ.Diem) >=ALL
(SELECT COUNT(KQ.Diem)
FROM THI_SINH TS1
JOIN KET_QUA KQ1 ON TS1.SBD=KQ1.SBD JOIN
MON_THI MT1 ON KQ1.MaMT=MT1.MaMT
WHERE MT1.TenMT=N'Toán' AND
KQ1.Diem=10 GROUP BY TS1.SBD)
C2: ĐSQH
lOMoARcPSD|46342985
MSSV: 22120426 Họ và tên: Tăng Thị Vân
R Diem=10(THI_SINH KET_QUA)
R1(SBD,HoTen,SoDiem10) SBD,HoTen COUNT(Diem) (R)
R2(SoDiemMax) MAX(SoDiem10)(R1)
KQ SBD,HoTen(R1 SoDiem10=SoDiemMaxR2)
--Q9: Cho biết tên cụm thi có nhiều điểm 10 nhất—
C1: SQL
SELECT CT.TenCum
FROM THI_SINH TS
JOIN CUM_THI CT ON CT.MaCumThi=TS.MaCumThi
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
WHERE KQ.Diem=10
GROUP BY CT.MaCumThi
HAVING COUNT(KQ.Diem) >=ALL
(SELECT COUNT(KQ1.Diem)
FROM THI_SINH TS1
JOIN CUM_THI CT1 ON CT1.MaCumThi=TS1.MaCumThi
JOIN KET_QUA KQ1 ON TS1.SBD=KQ1.SBD
WHERE KQ1.Diem=10
GROUP BY CT1.MaCumThi)
C2: ĐSQH
R Diem=10(THI_SINH KET_QUA CUM_THI)
R1(MaCumThi,TenCum,SoLuongDiem) MaCumThi,TenCum SUM(Diem) (R)
R2(SLMax) MAX(SoLuongDiem)(R1)
KQ TenCum (R1 SoLuongDiem=SLMaxR2)
--Q10:Cho biết tên những thí sinh đủ điều kiện được xét tuyển cả 2 khối “Khối A01”
và “Khối A02”—
C1: SQL
SELECT TS.HoTen
lOMoARcPSD|46342985
MSSV: 22120426 Họ và tên: Tăng Thị Vân
FROM THI_SINH TS
WHERE NOT EXISTS (
SELECT TH.MaMT
FROM TO_HOP TH
JOIN KHOI_THI KT ON TH.MaKhoi=KT.MaKhoi
JOIN KET_QUA KQ ON KQ.MaMT=TH.MaMT
WHERE KT.TenKhoi=N'Khối A01' OR KT.TenKhoi=N'Khối A02'
EXCEPT
SELECT KQ2.MaMT
FROM KET_QUA KQ2
WHERE TS.SBD=KQ2.SBD
)
C2: ĐSQH
R MaMT( TenKhoi=’Khối A01’ TenKhoi=’Khối A02’ (KHOI_THI TO_HOP))
R1 SBD,HoTen,MaMT (THI_SINH KET_QUA)
KQ HoTen (R1 R)
--Q11:Cho biết tên những thí sinh không đủ điều kiện xét tuyển “khối A01”—
C1: SQL
SELECT TS.HoTen
FROM THI_SINH TS
EXCEPT
SELECT TS1.HoTen
FROM THI_SINH TS1
WHERE NOT EXISTS (
SELECT TH.MaMT
FROM TO_HOP TH
JOIN KHOI_THI KT ON TH.MaKhoi=KT.MaKhoi
JOIN KET_QUA KQ ON KQ.MaMT=TH.MaMT
lOMoARcPSD|46342985
MSSV: 22120426 Họ và tên: Tăng Thị Vân
WHERE KT.TenKhoi=N'Khối A01'
EXCEPT
SELECT KQ2.MaMT
FROM KET_QUA KQ2
WHERE TS.SBD=KQ2.SBD
)
C2: ĐSQH
R MaMT( TenKhoi=’Khối A01’ (KHOI_THI TO_HOP))
R1 SBD,HoTen,MaMT (THI_SINH KET_QUA)
R2 HoTen (R1 R)
R3 HoTen (THI_SINH)
KQ R3-R2
--Q12: Cho biết số lượng thí sinh đủ điều kiện xét tuyển của mỗi khối—
C1: SQL
SELECT COUNT(TS.SBD), TH.MaKhoi
FROM THI_SINH TS
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
JOIN TO_HOP TH ON TH.MaMT=KQ.MaMT
WHERE NOT EXISTS (
SELECT TH2.MaMT
FROM TO_HOP TH2
JOIN KET_QUA KQ1 ON
KQ1.MaMT=TH2.MaMT WHERE
TH2.MaKhoi=TH.MaKhoi EXCEPT
SELECT KQ2.MaMT
FROM KET_QUA KQ2
WHERE TS.SBD=KQ2.SBD
)
lOMoARcPSD|46342985
MSSV: 22120426 Họ và tên: Tăng Thị Vân
GROUP BY TH.MaKhoi
C2: ĐSQH
TS THI_SINH
KQ KET_QUA
TH TO_HOP
R TS TH
R1 TS KQ TH
R2 TS.SBD,KQ.MaMT,TH.MaKhoi(R1) //nhung khoi tham gia thi
R3 TS.SBD,TH.MaMT,TH.MaKhoi(R)
R4 SBD,MaKhoi (R3 - R2 ) //nhung khoi khong du dkien xet tuyen
R5 SBD,MaKhoi (R2) - R4 //nhung khoi du dieu kien xet tuyen
KQ(MaKhoi,SLTS) MaKhoi,SBD(MaKhoi COUNT(SBD) (R5))
| 1/8

Preview text:

lOMoARcPSD|46342985 lOMoARcPSD|46342985 MSSV: 22120426
Họ và tên: Tăng Thị Vân
--Q1: Cho biết tên những thí sinh thi toán được điểm 10-- C1: SQL SELECT TS.HoTen FROM THI_SINH TS
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
JOIN MON_THI MT ON KQ.MaMT =MT.MaMT
WHERE MT.TenMT=N'Toán' AND KQ.Diem=10 C2: ĐSQH HoTen (
TenMT=’Toán’ ˄ Diem=10(THI_SINH KET_QUA MON_THI))
--Q2:Cho biết tên những thí sinh có tham gia thi tại cụm thi “Cụm 01 – Trường ĐKHTN”-- C1: SQL SELECT TS.HoTen FROM THI_SINH TS
JOIN CUM_THI CT ON TS.MaCumThi=CT.MaCumThi
WHERE CT.TenCum=N'Cụm 01 – Trường ĐKHTN' C2: ĐSQH HoTen (
TenCum=N’Cụm 01- Trường DKHTN’˄ Diem=10(THI_SINH CUM_THI))
--Q3: Cho biết tên những thí sinh ở cụm thi “Cụm 01 – Trường ĐKHTN” mà không thi môn Toán— C1: SQL SELECT TS.HoTen FROM THI_SINH TS lOMoARcPSD|46342985 MSSV: 22120426
Họ và tên: Tăng Thị Vân
JOIN CUM_THI CT ON TS.MaCumThi = CT.MaCumThi
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
JOIN MON_THI MT ON KQ.MaMT = MT.MaMT WHERE MT.TenMT<>N'Toán'
AND CT.TenCum=N'Cụm 01 – Trường ĐKHTN' C2: ĐSQH R THI_SINH KET_QUA MON_THI CUM_THI KQ
HoTen ( TenMT<>’Toán’ ˄ TenCum=N’Cụm 01- Trường DKHTN’ (R))
--Q4:Cho biết tên những thí sinh có tham gia thi cả 2 môn “Toán” và “Ngữ Văn” C1: SQL --Thi sinh thi mon toan SELECT TS.HoTen FROM THI_SINH TS
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
JOIN MON_THI MT ON KQ.MaMT=MT.MaMT WHERE MT.TenMT=N'Toán' INTERSECT --Thi sinh thi ngu van SELECT TS1.HoTen FROM THI_SINH TS1
JOIN KET_QUA KQ1 ON TS1.SBD=KQ1.SBD
JOIN MON_THI MT1 ON KQ1.MaMT=MT1.MaMT WHERE MT1.TenMT=N'Ngữ Văn' C2: ĐSQH R THI_SINH KET_QUA MON_THI KQ HoTen ( TenMT=’Toán’ (R))
HoTen ( TenMT=’Ngữ Văn’ (R))
--Q5: Cho biết tên thí sinh và có điểm trung bình của tất cả các môn tham gia thi lớn
hơn hoặc bằng 8. Xuất ra SBD, tên thí sinh và điểm trung bình –
lOMoARcPSD|46342985 MSSV: 22120426
Họ và tên: Tăng Thị Vân C1: SQL
SELECT TS.SBD,TS.HoTen,AVG(KQ.Diem) as DiemTrungBinh
FROM THI_SINH TS JOIN KET_QUA KQ ON TS.SBD=KQ.SBD GROUP BY TS.SBD,TS.HoTen HAVING AVG (KQ.Diem)>=8 C2: ĐSQH
R1(SBD,HoTen,DiemTB) SBD,HoTen AVG(Diem) (THI_SINH KET_QUA) R2(DiemTBMax) MAX(DiemTB)(R1) KQ HoTen,DiemTB (R1 DiemTB=DiemTBMaxR2)
--Q6:Cho biết tên những thí sinh đã tham gia thi từ 5 môn trở lên. Xuất ra SBD, họ tên
và số môn đã tham gia thi.—
C1: SQL
SELECT TS.SBD,TS.HoTen,COUNT (KQ.MaMT) as SoLuongMonThi
FROM THI_SINH TS JOIN KET_QUA KQ ON TS.SBD=KQ.SBD GROUP BY TS.SBD,TS.HoTen HAVING COUNT (KQ.MaMT)>=5 C2: ĐSQH
R1(SBD,HoTen,SoLuongMT) SBD,HoTen COUNT(MaMT) (THI_SINH KET_QUA) KQ
HoTen,SoLuongMT ( SoLuongMT>=5(R1))
--Q7:Cho biết tên và tổng điểm của thí sinh có tổng điểm thi cao nhất của cụm thi “Cụm 01 – Trường ĐKHTN”— C1: SQL
SELECT TS.HoTen,SUM (KQ.Diem) as TongDiemMax FROM THI_SINH TS
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
JOIN CUM_THI CT ON TS.MaCumThi=CT.MaCumThi
WHERE CT.TenCum=N'Cụm 01 – Trường ĐKHTN' lOMoARcPSD|46342985 MSSV: 22120426
Họ và tên: Tăng Thị Vân GROUP BY TS.HoTen HAVING SUM (KQ.Diem) >=ALL (SELECT SUM (KQ1.Diem) FROM THI_SINH TS1
JOIN KET_QUA KQ1 ON TS1.SBD=KQ1.SBD JOIN CUM_THI CT1 ON
TS1.MaCumThi=CT1.MaCumThi WHERE CT1.TenCum=N'Cụm
01 – Trường ĐKHTN' GROUP BY TS1.HoTen) C2: ĐSQH
R ( TenCum=’Cụm 01-Trường ĐKHTN’ (THI_SINH KET_QUA CUM_THI)
R1(SBD,HoTen,TongDiem) SBD,HoTen SUM(Diem) (R) R2(DiemMax)MAX(TongDiem)(R1) KQ HoTen,TongDiem (R1 TongDiem=DiemMaxR2)
--Q8: Cho biết thí sinh nào có nhiều môn thi điểm 10 nhất.— C1: SQL SELECT TS.HoTen FROM THI_SINH TS
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD JOIN MON_THI MT ON KQ.MaMT=MT.MaMT
WHERE MT.TenMT=N'Toán' AND KQ.Diem=10 HAVING COUNT(KQ.Diem) >=ALL (SELECT COUNT(KQ.Diem) FROM THI_SINH TS1
JOIN KET_QUA KQ1 ON TS1.SBD=KQ1.SBD JOIN
MON_THI MT1 ON KQ1.MaMT=MT1.MaMT WHERE MT1.TenMT=N'Toán' AND KQ1.Diem=10 GROUP BY TS1.SBD) C2: ĐSQH lOMoARcPSD|46342985 MSSV: 22120426
Họ và tên: Tăng Thị Vân R Diem=10(THI_SINH KET_QUA)
R1(SBD,HoTen,SoDiem10) SBD,HoTen COUNT(Diem) (R) R2(SoDiemMax) MAX(SoDiem10)(R1) KQ SBD,HoTen(R1 SoDiem10=SoDiemMaxR2)
--Q9: Cho biết tên cụm thi có nhiều điểm 10 nhất— C1: SQL SELECT CT.TenCum FROM THI_SINH TS
JOIN CUM_THI CT ON CT.MaCumThi=TS.MaCumThi
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD WHERE KQ.Diem=10 GROUP BY CT.MaCumThi HAVING COUNT(KQ.Diem) >=ALL (SELECT COUNT(KQ1.Diem) FROM THI_SINH TS1
JOIN CUM_THI CT1 ON CT1.MaCumThi=TS1.MaCumThi
JOIN KET_QUA KQ1 ON TS1.SBD=KQ1.SBD WHERE KQ1.Diem=10 GROUP BY CT1.MaCumThi) C2: ĐSQH R Diem=10(THI_SINH KET_QUA CUM_THI)
R1(MaCumThi,TenCum,SoLuongDiem) MaCumThi,TenCum SUM(Diem) (R) R2(SLMax) MAX(SoLuongDiem)(R1) KQ TenCum (R1 SoLuongDiem=SLMaxR2)
--Q10:Cho biết tên những thí sinh đủ điều kiện được xét tuyển cả 2 khối “Khối A01” và “Khối A02”— C1: SQL SELECT TS.HoTen lOMoARcPSD|46342985 MSSV: 22120426
Họ và tên: Tăng Thị Vân FROM THI_SINH TS WHERE NOT EXISTS ( SELECT TH.MaMT FROM TO_HOP TH
JOIN KHOI_THI KT ON TH.MaKhoi=KT.MaKhoi
JOIN KET_QUA KQ ON KQ.MaMT=TH.MaMT
WHERE KT.TenKhoi=N'Khối A01' OR KT.TenKhoi=N'Khối A02' EXCEPT SELECT KQ2.MaMT FROM KET_QUA KQ2 WHERE TS.SBD=KQ2.SBD ) C2: ĐSQH
R MaMT( TenKhoi=’Khối A01’ ∧ TenKhoi=’Khối A02’ (KHOI_THI TO_HOP)) R1 SBD,HoTen,MaMT (THI_SINH KET_QUA) KQ HoTen (R1 R)
--Q11:Cho biết tên những thí sinh không đủ điều kiện xét tuyển “khối A01”— C1: SQL SELECT TS.HoTen FROM THI_SINH TS EXCEPT SELECT TS1.HoTen FROM THI_SINH TS1 WHERE NOT EXISTS ( SELECT TH.MaMT FROM TO_HOP TH
JOIN KHOI_THI KT ON TH.MaKhoi=KT.MaKhoi
JOIN KET_QUA KQ ON KQ.MaMT=TH.MaMT lOMoARcPSD|46342985 MSSV: 22120426
Họ và tên: Tăng Thị Vân WHERE KT.TenKhoi=N'Khối A01' EXCEPT SELECT KQ2.MaMT FROM KET_QUA KQ2 WHERE TS.SBD=KQ2.SBD ) C2: ĐSQH
R MaMT( TenKhoi=’Khối A01’ (KHOI_THI TO_HOP)) R1 SBD,HoTen,MaMT (THI_SINH KET_QUA) R2 HoTen (R1 R) R3 HoTen (THI_SINH) KQ R3-R2
--Q12: Cho biết số lượng thí sinh đủ điều kiện xét tuyển của mỗi khối— C1: SQL
SELECT COUNT(TS.SBD), TH.MaKhoi FROM THI_SINH TS
JOIN KET_QUA KQ ON TS.SBD=KQ.SBD
JOIN TO_HOP TH ON TH.MaMT=KQ.MaMT WHERE NOT EXISTS ( SELECT TH2.MaMT FROM TO_HOP TH2 JOIN KET_QUA KQ1 ON KQ1.MaMT=TH2.MaMT WHERE TH2.MaKhoi=TH.MaKhoi EXCEPT SELECT KQ2.MaMT FROM KET_QUA KQ2 WHERE TS.SBD=KQ2.SBD ) lOMoARcPSD|46342985 MSSV: 22120426
Họ và tên: Tăng Thị Vân GROUP BY TH.MaKhoi C2: ĐSQH TS THI_SINH KQ KET_QUA TH TO_HOP R TS TH R1 TS KQ TH R2
TS.SBD,KQ.MaMT,TH.MaKhoi(R1) //nhung khoi tham gia thi R3 TS.SBD,TH.MaMT,TH.MaKhoi(R) R4
SBD,MaKhoi (R3 - R2 ) //nhung khoi khong du dkien xet tuyen R5 SBD,MaKhoi (R2) -
R4 //nhung khoi du dieu kien xet tuyen KQ(MaKhoi,SLTS) MaKhoi,SBD(MaKhoi COUNT(SBD) (R5))