Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
318,53 KB
Nội dung
ĐÁP ÁN BÀI TẬP SỐ - Online Câu hỏi số Giả sử nhân viên cửa hàng bán buôn/lẻ mở sổ theo dõi việc bán hàng hàng ngày dạng bảng (quan hệ) BÁN HÀNG sau: BÁN HÀNG Ngày Số Bán Hóa đơn 2/03/20 HD00 2/03/20 HD00 2/03/20 HD00 2/03/20 HD00 2/03/20 HD00 3/03/20 HD00 3/03/20 HD00 Mã KH Tên KH Địa Mã KH hàng KH01 Hoa KH01 Hoa Thanh Xuân Thanh Xuân KH01 Hoa KH04 KH04 KH02 KH02 KH07 Tây Hồ Thanh Đống Đa Thanh Đống Đa Loan Thanh Xuân Loan Thanh Xuân Tùng Thanh Xuân Tên hàng K001 Kẹo cứng B002 Bánh quy Hải Hà D001 Đường trắng B001 Bánh bao D002 Đường vàng D001 Đường trắng K002 Kẹo mềm Đơn giá Đơn Số vị lượng tính 20000 Gói Thành Tiền 32000 Gói 64000 25000 Kg 25000 50000 Hộp 150000 18000 Kg 36000 25000 Kg 0.5 12500 15000 Gói 60000 100000 Hãy giải thích vấn đề nảy sinh sau thiết kế CSDL này: -Dư thừa liệu (Redundancy) -Không quán (Inconsistency) -Dị thường thêm (Insertion anomalies) -Dị thường xóa (Deletion anomalies) - Giải Dư thừa liệu (Redundancy): KHÁCH HÀNG mua nhiều mặt hàng khác liệu khách hàng lặp lại nhiều quan hệ sơ đồ Cụ thể, xuất Mã KH tên địa họ lặp lại quan hệ - Không quán (Inconsistency): dị thường xuất sửa liệu hệ việc dư thừa liệu Ví dụ sửa đổi địa khách hàng có mã KH04 từ “Đống đa” thành “Tây Hồ”, sửa đổi cịn khác giữ ngun Khi xảy thượng Khách hàng lại khơng có địa - Dị thường thêm (Insertion anomalies): khách hàng chưa mua mặt hàng cả, thêm giá trị họ đưa mặt hàng giá vào quan hệ - Dị thường xóa (Deletion anomalies): khách hàng mua mặt hàng, quan hệ có liệu lưu trữ vầ khách hàng Khi xóa liệu liên quan đến lần mua làm thơng tin khách hàng Câu hỏi số Hãy xác định tập thuộc tính miền giá trị tương ứng quan hệ BÁN HÀNG nói Hãy xác định tập phụ thuộc hàm quan hệ BÁN HÀNG nói Hãy viết lược đồ quan hệ BÁN HÀNG nói Giải Tập thuộc tính U= {Ngày bán, Số hóa đơn, Mã KH, Tên KH, Địa KH, Mã hàng, Tên hàng, Đơn giá, Đơn vị tính, Số lượng, Thành tiền} Miền giá trị tương ứng: Dom(Ngày bán) = Date Dom(Số hóa đơn)=char(5) Dom(Mã KH)=char(4) Dom(Tên KH)=varchar(10) Dom(Địa KH)=varchar(20) Dom(Mã hàng)=char(4) Dom(Đơn giá)=real Dom(Đơn vị tính)=varchar(10) Dom(Số lượng)=real Dom(Thành Tiền}= real Tập phụ thuộc hàm F= {Số hóa đơn -> Mã KH, Số hóa đơn -> Tên KH, Số hóa đơn -> Địa KH, Mã KH -> Tên KH, Mã KH -> Địa KH, Mã hàng -> Tên hàng, Mã hàng -> Đơn giá, Mã hàng -> Đơn vị tính} Lược đồ quan hệ R= Với U= {Ngày bán, Số hóa đơn, Mã KH, Tên KH, Địa KH, Mã hàng, Tên hàng, Đơn giá, Đơn vị tính, Số lượng, Thành tiền} Và F= {Số hóa đơn -> Mã KH, Số hóa đơn -> Tên KH, Số hóa đơn -> Địa KH, Mã KH -> Tên KH, Mã KH -> Địa KH, Mã hàng -> Tên hàng, Mã hàng -> Đơn giá, Mã hàng -> Đơn vị tính} Câu hỏi số Cho lược đồ quan hệ R (U,F), với U = {A,B,C,D,E,G,H} F = {B → A, DA → CE, D → H, GH → C, AC → D} Và X = {AC} Hãy tính bao đóng X tập F phủ tối thiểu tập F Giải Tính bao đóng X tập F Bước 1: Đặt X0 = AC Bước 2: Tính Xi - Tìm phụ thuộc hàm có vế trái A, C, AC Có phụ thuộc hàm AC → D Do thêm D vào X0 X1 = ACD - Tương tự vậy, tìm tiếp phụ thuộc hàm có vế trái A, C, D tích chúng, ta có: D → H, DA → CE Do thêm H, E vào X1 ta X2 = ACDEH - Tương tự vậy, tìm tiếp phụ thuộc hàm có vế trái A,C, D,E,H tích chúng, ta có X3 = ACDEH Bước 3: (AC)+ = ACDEH Tìm phủ thiểu tập F BÀI TẬP SỐ - ONLINE Hãy làm vào ghi tập sau chụp hình để nộp Câu hỏi số Cho lược đồ quan hệ R = (U, F) với U= {A,B,C,D,E,G,H} F= {AB→C, D→EG, ACD→B, C→A, BE→C, CE→AG, BC→D, CG→BD, G→ H} Hãy tính Tính (D)+, (DE)+, (BE)+, (CG)+ Giải a) Tính (D) + Bước 1: X0 = D Bước 2: Tính Xi X1 = DEG (áp dụng D→EG) X2 = DEGH (áp dụng G→H) (= Constant) Vậy (D)+ = DEGH b) Tính (DE) + Bước 1: X0 = DE Bước 2: Tính Xi X1 = DEG (áp dụng D→EG) X2 = DEGH (áp dụng G→H) (= Constant) Vậy (DE)+ = DEGH c) Tính (BE) + Bước 1: X0 = BE Bước 2: Tính Xi X1 = BEC (áp dụng BE→C) X2 = BECAG (áp dụng CE→AG) X3 = BECAGD (áp dụng BC→D) X4 = BECAGDH (áp dụng G→H) (= Constant) Vậy (BE)+ = ABCDEGH d) Tính (CG) + Bước 1: X0 = CG Bước 2: Tính Xi X1 = CGA (áp dụng C→A) X2 = CGABD (áp dụng CG→BD) X3 = CGABDH (áp dụng G→H) X4 = CGABDHE (áp dụng D→EG) (= Constant) Vậy (CG)+ = ABCDEGH Câu hỏi số Tìm phủ tối thiểu lược đồ R = , Với U = {ABCDEGH} F = {A→ BC, BE → G, E → D, D → G, A → B, AG → BC} Giải Bước 1: Chuyển vế phải phụ thuộc hàm thành thuộc tính đơn lẻ F1= {A→ B, A → C, BE → G, E → D, D →G, AG→ B, AG → C} Bước 2: Loại bỏ thuộc tính dư thừa Xét thuộc tính vế trái phụ thuộc hàm có từ thuộc tính trở lên xem theo bảng sau Xét phụ thuộc hàm BE → G AG → B Thuộc tính Xét phụ thuộc hàm F2 B (E)+ = {DEG} có chứa G => dư thừa => loại thuộc tính B khỏi phụ thuộc hàm BE → G, ta có: E → G E (B)+ = {B} khơng chứa G => Không dư F2= {A→ B, A → C, E → thừa G, E → D, D →G, AG→ B, AG → C} + (G) = G không chứa B => không dư thừa A G AG → C Kiểm tra tính dư thừa thuộc tính A Thuộc tính G (A)+ = ABC có chứa B => dư thừa => Loại thuộc tính G khỏi phụ thuộc hàm AG → B, ta có: A -> B F2 = {A→ B, A → C, E → G, E → D, D →G, AG → C} (G)+ = G không chứa C => không dư thừa Kiểm tra tính dư thừa thuộc tính F2 (A)+ = ABC có chứa C => dư thừa => F2 = {A→ B, A → C, E → loại thuộc tính G khỏi phụ thuộc G, E → D, D →G} hàm AG → C, ta có: A → C Kết cuối F2= {A→ B, A → C, E → G, E → D, D →G} Bước 3: Loại bỏ phụ thuộc hàm dư thừa Áp dụng thuật tốn tính phủ khơng dư thừa với đầu vào F2: đặt F0 = F2 F0 = {A→B, A→C, E→G, E→D, D→G} Và kiểm tra tất phụ thuộc hàm (PTH) theo thứ tự bảng sau PTH F\PTH Kiểm tra tính dư thừa phụ thuộc hàm F A→B {A→C, E→G, E→D, D→G} A+ = AC, không chứa B, F1=F0 không dư thừa A→C {A→B, E→G, E→D, D→G} A+ = AB, không chứa C, F2=F1 không dư thừa E→G {A→B,A→C, E→D, D→G} E+ = EDG, có chứa G F3= {A→B,A→C, E→D, nên dư thừa => Loại D→G} E→D {A→B, A→C, D→G} D → G {A→B, A→C, E→D} E+ = E không chứa D F4 = F3 nên không dư thừa D+ = D không chứa G F5=F4 nên không dư thừa Sau thử xong tất phụ thuộc hàm lược đồ Kết cuối ta có phủ tối thiểu F tối thiểu = {A→B, A→C, E→D, D→G} Đáp án tập số Câu hỏi Cho lược đồ quan hệ R = với U = {A, B, C, D, E,I} Và F= {BC -> DE, BE -> C, BI -> A, CE -> I} Hãy chứng minh BC -> A thuộc F+ Giải Tính (BC)+ Bước 1: Đặt X0 = BC Bước 2: Tính Xi - X1 = BCDE (áp dụng BC -> DE) - X2 = BCDEI (áp dụng BC -> E, CE-> I) - X3 = ABCDEI (áp dụng BI -> A} Bước 3: (BC)+ = ABCDEI Vì A (BC)+ nên BC -> A F+ Câu hỏi Cho lược đồ quan hệ R = , Trong : U = {ABC} F = {A→B, B→A, C→B} a) Tìm tập khóa lược đồ b) Tìm khóa tối thiểu lược đồ Giải a) Tìm tập khóa lược đồ Bước 1: L = {ABC} R = {AB} Từ có: TN = U\R = {C} TG = L R = {AB} Bước 2: Vì TG # nên ta làm tiếp bước Bước 3: Ta có tập Xi tập TG = {0, A, B, AB} Bước 4: tìm siêu khóa Si theo bảng sau: Xi TN Xi Bao đóng Kiểm tra TN Xi Siêu khóa (TN Xi)+ = U+ ? C ABC = U+ C A AC ABC = U+ AC B BC ABC = U+ BC AB ABC ABC = U+ ABC Vậy ta có tập siêu khóa S = {C, AC, BC, ABC} Bước 5: Tuy nhiên, C chứa AC, BC ABC nên loại bỏ siêu khóa AC, BC ABC khỏi tập siêu khóa Vậy ta có, tập khóa K = {C} khóa lược đồ quan hệ b) Tìm khóa tối thiểu lược đồ Bước 1: gán K0 =U+ tức K= {ABC} Bước 2: tính bao đóng K\Ai kiểm tra xem có loại thuộc tính khỏi khóa khơng qua bảng sau Ai K\Ai (K\Ai)+ Kiểm tra (K\Ai)+ Có loại K có U+ ? thuộc tính? A BC ABC = U+ Loại A BC B C ABC = U+ Loại B C Vậy K={C} Câu hỏi Cho lược đồ quan hệ R= Với U = {ABCDEGHI} Và F = {AB ->B, BI -> ACD, ABC -> D, H->I, ACE -> BCG, CG -> AE} Hãy tìm siêu khóa khóa tối thiểu lược đồ quan hệ Giải Tìm siêu khóa Bước 1: L = {ABCEGHI} R = {ABCDEGI} Từ có: TN = = U\ R = {H} TG = L R = {ABCEGI} Bước 2: Vì TG # nên ta làm tiếp bước Bước 3: Ta có tập Xi tập TG = {0, A, B, C, E, G, I AB, AC, AE, AG, AI, BC, BE, BG, BI, CE, CG, CI, EG, EI, GI, ABC, ABE, ABG, ABI, ACE, ACG, ACI, AEG, AEI, AGI, BCE, BCG, BCI, BEG, BEI, BGI, CEG, CEI, CGI, EGI, ABCE, ABCG, ABCI, ABEG, ABEI, ABGI, BCEG, BCEI, BCGI, CEGI, ABCEG, ABCEI, ABCGI, BCEGI, ABCEGI} Bước 4: tìm siêu khóa Si theo bảng sau Xi TN Xi Bao đóng TN Xi Kiểm tra (TN Xi)+ = U+ ? Siêu khóa H HI != U+ A AH AHI != U+ B BH ABCDHI != U+ C CH CHI != U+ E EH EHI != U+ G GH GHI != U+ I HI HI != U+ AB ABH ABCDHI != U+ AC ACH ACHI != U+ AE AEH AEHI != U+ AG AGH AGHI != U+ AI AHI AHI != U+ BC BCH ABCDHI != U+ BE BEH ABCDEGHI = U+ BEH BG BGH ABCDEGHI = U+ BGH BI BHI ABCDHI != U+ CE CEH CEHI != U+ CG CGH ABCDEGHI = U+ CI CHI CHI != U+ EG EGH EGHI != U+ EI EHI EHI != U+ GI GHI GHI != U+ ABC ABCH ABCDHI != U+ ABE ABEH ABCDEGHI = U+ ABEH ABG ABGH ABCDEGHI = U+ ABGH ABI ABHI ABCDHI != U+ ACE ACEH ACEGHI != U+ ACG ACGH ABCDEGHI = U+ CGH ACGH ACI ACHI ACHI != U+ AEG AEGH AEGHI != U+ AEI AEHI AEHI != U+ AGI AGHI AGHI != U+ BCE BCEH ABCDEGHI = U+ BCG BCGI ABCDEGI != U+ BCI BCHI ABCDHI != U+ BEG BEGH ABCDEGHI = U+ BGEH BEI BEHI ABCDEGHI = U+ BEHI BGI BGIH ABCDEGH = U+ BGHI CEG CEGH ABCDEGH = U+ CEGH CEI CEHI CEHI != U+ CGI CGHI ABCDEGH = U+ EGI EGHI EGHI != U+ ABCE ABCEH ABCDEGHI = U+ ABCEH ABCG ABCGH ABCDEGHI = U+ ABCGH ABCI ABCHI ABCDHI != U+ ABEG ABEGH ABDEGHI != U+ ABEI ABEHI ABCDEGHI = U+ ABEHI ABCDEGHI + ABGHI + ABGI ABGHI =U BCEH CGHI BCEG BCEGH ABCDEGHI =U BCEGH BCEI BCEHI ABCDEGHI = U+ BCEHI BCGI BCGHI ABCDEGHI = U+ BCGHI CEGI CEGHI ABCDEGHI = U+ CEGHI ABCEG ABCEGH ABCDEGHI = U+ ABCEGH ABCEI ABCEHI ABCDEGHI = U+ ABCEHI ABCGI ABCGHI ABCDEGHI = U+ ABCGHI BCEGI BCEGHI ABCDEGHI = U+ BCEGHI ABCDEGHI = U+ ABCEGHI ABCEGI ABCEGHI ĐÁP ÁN BÀI TẬP SỐ - ONLINE Cho CSDL QUAN LY ĐIỂM THI với lược đồ liệu sau SINHVIEN(MaSV, HoTen, NgaySinh, Que, GioiTinh, MaLop) LOP(MaLop, TenLop) MONHOC(MaMH, TenMH) DIEM(MaSV, MaMH,DiemThi) Yêu cầu: Hãy dùng biểu thức đại số quan hệ câu lệnh SQL để thực truy vấn sau: Q2.1 Cho thông tin sinh viên sinh trước năm 2001, quê Hải phòng ĐSQH: Ngaysinh < '2001-1-1' Que='Hai Phong'(SINHVIEN) SQL: SELECT * FROM SINHVIEN WHERE Ngaysinh < '2001-1-1' and Que='Hai Phong' Q2.2 Đưa danh sách gồm Mã sinh viên, Tên Sinh viên, Quê quán lop ‘SITDE06001’ có quê Hà Nội ĐSQH: C1: MaSV,TenSV,Que(Malop='cong nghe thong tin 60' Que='Ha Noi' (SINHVIEN) SQL: SELECT MaSV, TenSV, Que FROM SINHVIEN WHERE Malop='SITDE06001' AND Que='Ha Noi' Query 2.2a Đưa danh sách gồm Mã sinh viên, Tên Sinh viên, Q qn lop Cơng nghệ thơng tin 60 có quê Hà Nội ĐSQH: C1: MaSV,TenSV,Que(SINHVIEN.Malop=Lop.Malop Lop.Malop='SITDE06001' Que='Ha Noi' (SINHVIEN x LOP)) C2: MaSV,TenSV,Que(Que='Ha Noi' (SINHVIEN ) * Lop.Malop='SITDE06001' (LOP) SQL: ***chú ý thêm N trước dãy ký tự để xử lý lỗi phông Unicode SQL SERVER, viết câu lệnh SQL lý thuyết bỏ ký tự N C1: SELECT MaSV, TenSV, Que FROM SINHVIEN, LOP WHERE SINHVIEN.Malop=Lop.Malop AND TenLop= N'Công nghệ thông tin 60' AND Que= N'Hà Nội' C2: SELECT MaSV, TenSV, Que FROM SINHVIEN WHERE Que= N'Hà Nội' AND Malop IN (SELECT MaLop FROM LOP WHERE TenLop=N'Công nghệ thông tin 60') Query2.3 Đưa danh sách sinh viên có điểm thi Mơn học có mã mơn học ‘Ti01’ từ trở lên ĐSQH: C1: MaSV,TenSV,DiemThi(SINHVIEN.MaSV=Diem.MaSV DiemThi >=7' (SINHVIEN MONHOC.MaMH=DIEM.MaMH MONHOC.MaMH ='Ti01' x MONHOC x DIEM)) C2: MaSV, HoTen, Diem (SINHVIEN * (Ơ DiemThi>=7 (DIEM ) * Ơ MaMH=”Ti01”(DIEM)) SQL: C1: SELECT SINHVIEN.MaSV, TenSV, DiemThi FROM SINHVIEN, MONHOC,DIEM WHERE SINHVIEN.MaSV=DIEM.MaSV AND MONHOC.MaMH=DIEM.MaMH AND Monhoc.MaMH='Ti01' AND DiemThi>=7 C2: SELECT SINHVIEN.MaSV,TenSV,DiemThi FROM SINHVIEN,DIEM WHERE SINHVIEN.MaSV=DIEM.MASV AND DiemThi>=7 AND MaMH in (SELECT MaMH FROM MONHOC WHERE MaMH='Ti01') C3: SELECT SINHVIEN.MaSV, TenSV, DiemThi, MaMH FROM SINHVIEN Join DIEM on SINHVIEN.MaSV = Diem.MaSV WHERE DiemThi >=7 AND MaMH in (SELECT MaMH FROM MONHOC WHERE MaMH='Ti01') Query2.4 Cho biết số SV học lớp SITDE06001 ĐSQH: MaSV, count() (SINHVIEN) SQL: SELECT COUNT(MaSV) FROM SINHVIEN WHERE MaLop='SITDE06001' Query2.5 Đưa danh sách Mã môn học tên môn học sinh viên quê Hải phòng chọn ĐSQH: C1: MaMH,TenMH(SINHVIEN.MaSV=Diem.MaSV MONHOC.MaMH=DIEM.MaMH Que=’Hải phòng' (SINHVIEN x MONHOC x DIEM)) C2: MaMH,TenMH(MONHOC * (DIEM * Que=’Hải phòng' (SINHVIEN)) C3: MaMH,TenMH(MaMH,TenMHMONHOC * (MaSV,MaMH(DIEM) * MaSV( (SINHVIEN)) SQL: C1: SELECT MONHOC.MaMH,TenMH Que=’Hải phòng' FROM MONHOC,SINHVIEN,DIEM WHERE SINHVIEN.MaSV=DIEM.MaSV AND MONHOC.MaMH=DIEM.MaMH AND Que='Hai Phong' C2: SELECT MaMH,TenMH FROM MONHOC WHERE MaMH IN (SELECT MaMH FROM DIEM WHERE MaSV IN (SELECT MaSV FROM SINHVIEN WHERE Que ='Hai Phong')) C3: SELECT MONHOC.MaMH, TenMH FROM MONHOC JOIN DIEM on MONHOC.MaMH = DIEM.MaMH JOIN SINHVIEN on DIEM.MaSV = SINHVIEN.MaSV WHERE Que = 'Hai Phong' Query2.6 Đưa danh sách sinh viên học hai môn Ti01 Hi01 ĐSQH: C1: MaSV,TenSV(SINHVIEN.MaSV=Diem.MaSV MONHOC.MaMH=DIEM.MaMH (MaMH=’Ti01’ MaMH=’Hi01’) (SINHVIEN x MONHOC x DIEM)) C2: MaSV,TenSV(SINHVIEN * (DIEM * (MaMH=’Ti01’ MaMH=’Hi01’(MONHOC)) C3: MaSV,TenSV(MaSV,TenSV(SINHVIEN) * (MaSV,MaMH(DIEM) * (MaMH(MaMH=’Ti01’ MaMH=’Hi01’(MONHOC))) SQL: C1 SELECT DISTINCT SINHVIEN.MaSV, TenSV FROM SINHVIEN, MONHOC, DIEM WHERE SINHVIEN.MaSV = DIEM.MaSV AND MONHOC.MAMH = DIEM.MaMH AND (MONHOC.MaMH='Ti01' OR MONHOC.MaMH='Hi01') C2 SELECT DISTINCT SINHVIEN.MaSV, TenSV FROM SINHVIEN JOIN DIEM on SINHVIEN.MaSV = DIEM.MaSV join MONHOC on DIEM.MaMH=MONHOC.MaMH WHERE MONHOC.MaMH='Ti01'OR MONHOC.MaMH='Hi01' C3: SELECT DISTINCT SINHVIEN.MaSV, TenSV FROM SINHVIEN JOIN DIEM on SINHVIEN.MaSV = DIEM.MaSV WHERE MaMH IN (SELECT MaMH FROM MONHOC WHERE MaMH='Ti01'OR MaMH='Hi01') C4: SELECT MaSV, TenSV FROM SINHVIEN WHERE MaSV IN (SELECT MaSV FROM DIEM WHERE MaMH IN (SELECT MaMH FROM MONHOC WHERE MaMH='Ti01' OR MaMH='Hi01')) ĐÁP ÁN BÀI TẬP SỐ 10 - ONLINE Câu hỏi Cho CSDL QUANLYDIEM với lược đồ liệu sau SINHVIEN(MaSV, HoTen, NgaySinh, GioiTinh, MaLop) LOP(MaLop, TenLop) MONHOC(MaMH, TenMH) DIEM(MaSV, MaMH,DiemThi) Yêu cầu: Hãy dùng biểu thức đại số quan hệ tối ưu câu lệnh SQL tối ưu để thực truy vấn sau, ý tối ưu hóa câu lệnh (nộp Moodle phần này) Q2.7 Đưa mã SV học hai mơn có mã mơn học Ti01 Hi01 MaSV(MaMH=’Ti01’ (DIEM)) MaSV(MaMH=’Hi01’(DIEM)) Giải SELECT MaSV FROM DIEM WHERE MaMH='Ti01' INTERSECT SELECT MaSV FROM DIEM WHERE MaMH='Hi01' Query2.8- MaSV học hai môn Tin hoc dai cuong Tin hoc ung dung Giải SELECT MaSV FROM DIEM WHERE MaMH IN (SELECT MaMH FROM MONHOC WHERE TenMH='Tin hoc dai cuong') INTERSECT SELECT MaSV FROM DIEM WHERE MaMH IN (SELECT MaMH FROM MONHOC WHERE TenMH='Tin hoc ung dung') Query2.9- MaSV ten SV học hai môn Tin hoc dai cuong Tin hoc ung dung SELECT MaSV, TenSV FROM SINHVIEN WHERE MaSV IN (SELECT MaSV FROM DIEM WHERE MaMH IN (SELECT MaMH FROM MONHOC WHERE TenMH='Tin hoc dai cuong')) INTERSECT SELECT MaSV, TenSV FROM SINHVIEN WHERE MaSV IN (SELECT MaSV FROM DIEM WHERE MaMH IN (SELECT MaMH FROM MONHOC WHERE TenMH='Tin hoc ung dung')) Query2.10- MaSV ten SV có diem thi dươi SELECT MaSV, TenSV FROM SINHVIEN WHERE MaSV IN (SELECT MaSV FROM DIEM WHERE DiemThi