Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Thực hành truy xuất dữ liệu qua liên kết các bảng - Đề 03
Trắc nghiệm Tin học 11 Kết nối tri thức Bài 23: Thực hành truy xuất dữ liệu qua liên kết các bảng - Đề 03 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Trong một cơ sở dữ liệu quản lý thư viện, bảng `Sách` chứa thông tin sách (mã sách, tên sách, mã thể loại) và bảng `Thể loại` chứa thông tin thể loại (mã thể loại, tên thể loại). Câu lệnh SQL nào sau đây truy xuất danh sách tên sách và tên thể loại tương ứng?
- A. SELECT Sách.TênSách, Thể loại.TênThể loại FROM Sách WHERE Sách.MaTheLoai = Thể loại.MaTheLoai
- B. SELECT Sách.TênSách, Thể loại.TênThể loại FROM Sách INNER JOIN Thể loại ON Sách.MaTheLoai = Thể loại.MaTheLoai
- C. SELECT TênSách, TênThể loại FROM Sách, Thể loại
- D. SELECT * FROM Sách INNER JOIN Thể loại
Câu 2: Xét hai bảng `Nhân viên` (mã NV, tên NV, phòng ban) và `Phòng ban` (mã phòng, tên phòng, trưởng phòng). Để tìm tên nhân viên và tên phòng ban của nhân viên "Nguyễn Văn A", câu lệnh SQL nào hiệu quả nhất?
- A. SELECT * FROM Nhân viên, Phòng ban WHERE TênNV = "Nguyễn Văn A"
- B. SELECT Nhân viên.TênNV, Phòng ban.TênPhòng FROM Nhân viên WHERE TênNV = "Nguyễn Văn A"
- C. SELECT Nhân viên.TênNV, Phòng ban.TênPhòng FROM Nhân viên INNER JOIN Phòng ban ON Nhân viên.PhòngBan = Phòng ban.MãPhòng WHERE Nhân viên.TênNV = "Nguyễn Văn A"
- D. SELECT TênNV, TênPhòng FROM Nhân viên LEFT JOIN Phòng ban ON Nhân viên.PhòngBan = Phòng ban.MãPhòng
Câu 3: Trong cơ sở dữ liệu bán hàng, bảng `Sản phẩm` (mã SP, tên SP, giá) và `Đơn hàng` (mã ĐH, mã SP, số lượng). Câu lệnh SQL nào tính tổng số lượng của mỗi sản phẩm đã bán?
- A. SELECT SUM(Số lượng) FROM Đơn hàng
- B. SELECT Sản phẩm.TênSP, Đơn hàng.Số lượng FROM Sản phẩm INNER JOIN Đơn hàng ON Sản phẩm.MãSP = Đơn hàng.MãSP
- C. SELECT Sản phẩm.TênSP, SUM(Đơn hàng.Số lượng) FROM Sản phẩm WHERE Sản phẩm.MãSP = Đơn hàng.MãSP
- D. SELECT Sản phẩm.TênSP, SUM(Đơn hàng.Số lượng) FROM Sản phẩm INNER JOIN Đơn hàng ON Sản phẩm.MãSP = Đơn hàng.MãSP GROUP BY Sản phẩm.TênSP
Câu 4: Cho hai bảng `Học sinh` (mã HS, tên HS, lớp) và `Điểm` (mã HS, môn học, điểm số). Câu lệnh SQL nào liệt kê tên học sinh và điểm môn "Toán" của học sinh đó, chỉ xét những học sinh có điểm môn Toán?
- A. SELECT Học_sinh.TenHS, Diem.DiemSo FROM Hoc_sinh INNER JOIN Diem ON Hoc_sinh.MaHS = Diem.MaHS WHERE Diem.MonHoc = "Toán"
- B. SELECT Hoc_sinh.TenHS, Diem.DiemSo FROM Hoc_sinh LEFT JOIN Diem ON Hoc_sinh.MaHS = Diem.MaHS WHERE Diem.MonHoc = "Toán"
- C. SELECT Hoc_sinh.TenHS, Diem.DiemSo FROM Hoc_sinh, Diem WHERE Diem.MonHoc = "Toán"
- D. SELECT TenHS, DiemSo FROM Hoc_sinh INNER JOIN Diem ON Hoc_sinh.MaHS = Diem.MaHS
Câu 5: Bảng `Giáo viên` (mã GV, tên GV, mã khoa) và `Khoa` (mã khoa, tên khoa). Câu lệnh SQL nào tìm tên giáo viên và tên khoa của tất cả giáo viên, kể cả giáo viên chưa được gán khoa?
- A. SELECT Giáo_viên.TenGV, Khoa.TenKhoa FROM Giáo_viên INNER JOIN Khoa ON Giáo_viên.MaKhoa = Khoa.MaKhoa
- B. SELECT Giáo_viên.TenGV, Khoa.TenKhoa FROM Giáo_viên LEFT JOIN Khoa ON Giáo_viên.MaKhoa = Khoa.MaKhoa
- C. SELECT TenGV, TenKhoa FROM Giáo_viên, Khoa
- D. SELECT * FROM Giáo_viên LEFT JOIN Khoa
Câu 6: Cho lược đồ CSDL: `Khách hàng` (mã KH, tên KH) và `Đơn hàng` (mã ĐH, mã KH, ngày đặt). Câu lệnh SQL nào tìm tên khách hàng và số đơn hàng của mỗi khách hàng?
- A. SELECT Khách_hàng.TenKH, Đơn_hàng.MaĐH FROM Khách_hàng INNER JOIN Đơn_hàng ON Khách_hàng.MaKH = Đơn_hàng.MaKH
- B. SELECT TenKH, COUNT(*) FROM Khách_hàng
- C. SELECT Khách_hàng.TenKH, COUNT(Đơn_hàng.MaĐH) FROM Khách_hàng INNER JOIN Đơn_hàng ON Khách_hàng.MaKH = Đơn_hàng.MaKH GROUP BY Khách_hàng.TenKH
- D. SELECT Khách_hàng.TenKH, SUM(Đơn_hàng.MaĐH) FROM Khách_hàng INNER JOIN Đơn_hàng ON Khách_hàng.MaKH = Đơn_hàng.MaKH GROUP BY Khách_hàng.TenKH
Câu 7: Xét bảng `Bài viết` (mã bài viết, tiêu đề, mã tác giả) và `Tác giả` (mã tác giả, tên tác giả). Câu lệnh SQL nào liệt kê tiêu đề bài viết và tên tác giả, sắp xếp theo tên tác giả?
- A. SELECT Bài_viết.Tiêu_đề, Tác_giả.Tên_tác_giả FROM Bài_viết INNER JOIN Tác_giả ON Bài_viết.Ma_tác_giả = Tác_giả.Ma_tác_giả
- B. SELECT Tiêu_đề, Tên_tác_giả FROM Bài_viết INNER JOIN Tác_giả ON Bài_viết.Ma_tác_giả = Tác_giả.Ma_tác_giả
- C. SELECT Bài_viết.Tiêu_đề, Tác_giả.Tên_tác_giả FROM Bài_viết INNER JOIN Tác_giả ON Bài_viết.Ma_tác_giả = Tác_giả.Ma_tác_giả ORDER BY Tiêu_đề
- D. SELECT Bài_viết.Tiêu_đề, Tác_giả.Tên_tác_giả FROM Bài_viết INNER JOIN Tác_giả ON Bài_viết.Ma_tác_giả = Tác_giả.Ma_tác_giả ORDER BY Tác_giả.Tên_tác_giả
Câu 8: Cho ba bảng: `Sinh viên` (mã SV, tên SV), `Môn học` (mã MH, tên MH), và `Đăng ký` (mã SV, mã MH, học kỳ). Câu lệnh SQL nào truy vấn tên sinh viên và tên môn học mà sinh viên đó đã đăng ký trong học kỳ "HK1-2023"?
- A. SELECT Sinh_viên.TenSV, Mon_hoc.TenMH FROM Sinh_viên INNER JOIN Đăng_ký ON Sinh_viên.MaSV = Đăng_ký.MaSV INNER JOIN Mon_hoc ON Đăng_ký.MaMH = Mon_hoc.MaMH WHERE Đăng_ký.Hoc_ky = "HK1-2023"
- B. SELECT TenSV, TenMH FROM Sinh_viên, Mon_hoc, Đăng_ký WHERE Đăng_ký.Hoc_ky = "HK1-2023"
- C. SELECT Sinh_viên.TenSV, Mon_hoc.TenMH FROM Sinh_viên INNER JOIN Mon_hoc ON Sinh_viên.MaSV = Mon_hoc.MaMH WHERE Đăng_ký.Hoc_ky = "HK1-2023"
- D. SELECT * FROM Sinh_viên INNER JOIN Đăng_ký INNER JOIN Mon_hoc WHERE Đăng_ký.Hoc_ky = "HK1-2023"
Câu 9: Trong cơ sở dữ liệu về sản phẩm và nhà cung cấp, bảng `Sản phẩm` (mã SP, tên SP, mã NCC) và `Nhà cung cấp` (mã NCC, tên NCC, địa chỉ). Câu lệnh SQL nào tìm tên sản phẩm và tên nhà cung cấp cho những sản phẩm có giá trên 100.000 VNĐ?
- A. SELECT Sản_phẩm.TenSP, Nhà_cung_cấp.TenNCC FROM Sản_phẩm INNER JOIN Nhà_cung_cấp ON Sản_phẩm.MaNCC = Nhà_cung_cấp.MaNCC
- B. SELECT Sản_phẩm.TenSP, Nhà_cung_cấp.TenNCC FROM Sản_phẩm INNER JOIN Nhà_cung_cấp ON Sản_phẩm.MaNCC = Nhà_cung_cấp.MaNCC WHERE Sản_phẩm.Giá > 100000
- C. SELECT TenSP, TenNCC FROM Sản_phẩm WHERE Giá > 100000
- D. SELECT * FROM Sản_phẩm INNER JOIN Nhà_cung_cấp WHERE Giá > 100000
Câu 10: Bảng `Phim` (mã phim, tên phim, mã đạo diễn) và `Đạo diễn` (mã đạo diễn, tên đạo diễn). Câu lệnh SQL nào đếm số lượng phim mà mỗi đạo diễn đã đạo diễn?
- A. SELECT Đạo_diễn.TenĐD, Phim.MaPhim FROM Đạo_diễn INNER JOIN Phim ON Đạo_diễn.MaĐD = Phim.MaĐD
- B. SELECT COUNT(*) FROM Phim
- C. SELECT Đạo_diễn.TenĐD, COUNT(Phim.MaPhim) FROM Đạo_diễn INNER JOIN Phim ON Đạo_diễn.MaĐD = Phim.MaĐD GROUP BY Đạo_diễn.TenĐD
- D. SELECT Đạo_diễn.TenĐD, SUM(Phim.MaPhim) FROM Đạo_diễn INNER JOIN Phim ON Đạo_diễn.MaĐD = Phim.MaĐD GROUP BY Đạo_diễn.TenĐD
Câu 11: Trong một hệ thống quản lý bán vé máy bay, bảng `Chuyến bay` (mã CB, điểm đi, điểm đến) và `Vé` (mã vé, mã CB, giá vé). Câu lệnh SQL nào tìm điểm đi, điểm đến của các chuyến bay có ít nhất 20 vé đã bán?
- A. SELECT Chuyến_bay.Điểm_đi, Chuyến_bay.Điểm_đến FROM Chuyến_bay INNER JOIN Vé ON Chuyến_bay.MaCB = Vé.MaCB WHERE COUNT(Vé.MaVé) >= 20
- B. SELECT Điểm_đi, Điểm_đến FROM Chuyến_bay WHERE COUNT(Vé.MaVé) >= 20
- C. SELECT Chuyến_bay.Điểm_đi, Chuyến_bay.Điểm_đến FROM Chuyến_bay INNER JOIN Vé ON Chuyến_bay.MaCB = Vé.MaCB
- D. SELECT Chuyến_bay.Điểm_đi, Chuyến_bay.Điểm_đến FROM Chuyến_bay INNER JOIN Vé ON Chuyến_bay.MaCB = Vé.MaCB GROUP BY Chuyến_bay.Điểm_đi, Chuyến_bay.Điểm_đến HAVING COUNT(Vé.MaVé) >= 20
Câu 12: Cho bảng `Dự án` (mã DA, tên DA, trưởng phòng) và `Phòng ban` (mã phòng, tên phòng). Câu lệnh SQL nào tìm tên dự án và tên phòng ban quản lý dự án đó?
- A. SELECT Dự_án.TenDA, Phòng_ban.TenPhong FROM Dự_án INNER JOIN Phòng_ban ON Dự_án.Trưởng_phòng = Phòng_ban.MaPhong
- B. SELECT TenDA, TenPhong FROM Dự_án, Phòng_ban WHERE Dự_án.Trưởng_phòng = Phòng_ban.MaPhong
- C. SELECT Dự_án.TenDA, Phòng_ban.TenPhong FROM Dự_án LEFT JOIN Phòng_ban ON Dự_án.Trưởng_phòng = Phòng_ban.MaPhong
- D. SELECT TenDA, TenPhong FROM Dự_án INNER JOIN Phòng_ban
Câu 13: Bảng `Sách` (mã sách, tên sách, năm xuất bản) và `Tác giả` (mã tác giả, tên tác giả, mã sách). Câu lệnh SQL nào liệt kê tên sách và tên tác giả, nhưng chỉ cho những sách xuất bản sau năm 2020?
- A. SELECT Sách.TenSach, Tác_giả.TenTG FROM Sách INNER JOIN Tác_giả ON Sách.MaSach = Tác_giả.MaSach
- B. SELECT Sách.TenSach, Tác_giả.TenTG FROM Sách INNER JOIN Tác_giả ON Sách.MaSach = Tác_giả.MaSach WHERE Sách.NamXB > 2020
- C. SELECT TenSach, TenTG FROM Sách WHERE NamXB > 2020
- D. SELECT * FROM Sách INNER JOIN Tác_giả WHERE NamXB > 2020
Câu 14: Cho lược đồ CSDL: `Nhân viên` (mã NV, tên NV, lương) và `Kỹ năng` (mã KN, tên KN, mã NV). Câu lệnh SQL nào tìm tên nhân viên và tên kỹ năng của họ, chỉ xét những nhân viên có lương trên 10 triệu?
- A. SELECT Nhân_viên.TenNV, Kỹ_năng.TenKN FROM Nhân_viên INNER JOIN Kỹ_năng ON Nhân_viên.MaNV = Kỹ_năng.MaNV
- B. SELECT TenNV, TenKN FROM Nhân_viên WHERE Lương > 10000000
- C. SELECT Nhân_viên.TenNV, Kỹ_năng.TenKN FROM Nhân_viên INNER JOIN Kỹ_năng ON Nhân_viên.MaNV = Kỹ_năng.MaNV WHERE Nhân_viên.Lương > 10000000
- D. SELECT * FROM Nhân_viên INNER JOIN Kỹ_năng WHERE Lương > 10000000
Câu 15: Bảng `Khóa học` (mã KH, tên KH, học phí) và `Học viên` (mã HV, tên HV, mã KH). Câu lệnh SQL nào tìm tên khóa học và tên học viên đã đăng ký khóa học đó, nhưng chỉ cho những khóa học có học phí dưới 500.000 VNĐ?
- A. SELECT Khóa_học.TenKH, Học_viên.TenHV FROM Khóa_học INNER JOIN Học_viên ON Khóa_học.MaKH = Học_viên.MaKH
- B. SELECT TenKH, TenHV FROM Khóa_học WHERE Học_phí < 500000
- C. SELECT Khóa_học.TenKH, Học_viên.TenHV FROM Khóa_học LEFT JOIN Học_viên ON Khóa_học.MaKH = Học_viên.MaKH WHERE Khóa_học.Học_phí < 500000
- D. SELECT Khóa_học.TenKH, Học_viên.TenHV FROM Khóa_học INNER JOIN Học_viên ON Khóa_học.MaKH = Học_viên.MaKH WHERE Khóa_học.Học_phí < 500000
Câu 16: Cho bảng `Sản phẩm` (mã SP, tên SP, giá, mã loại) và `Loại sản phẩm` (mã loại, tên loại). Câu lệnh SQL nào truy xuất tên sản phẩm và tên loại sản phẩm, sắp xếp theo tên loại sản phẩm và sau đó theo giá sản phẩm (giá giảm dần)?
- A. SELECT Sản_phẩm.TenSP, Loại_sản_phẩm.TenLoai FROM Sản_phẩm INNER JOIN Loại_sản_phẩm ON Sản_phẩm.MaLoai = Loại_sản_phẩm.MaLoai ORDER BY Loại_sản_phẩm.TenLoai ASC, Sản_phẩm.Giá DESC
- B. SELECT TenSP, TenLoai FROM Sản_phẩm INNER JOIN Loại_sản_phẩm ORDER BY TenLoai, Giá DESC
- C. SELECT Sản_phẩm.TenSP, Loại_sản_phẩm.TenLoai FROM Sản_phẩm INNER JOIN Loại_sản_phẩm ON Sản_phẩm.MaLoai = Loại_sản_phẩm.MaLoai ORDER BY TenLoai, Giá
- D. SELECT Sản_phẩm.TenSP, Loại_sản_phẩm.TenLoai FROM Sản_phẩm INNER JOIN Loại_sản_phẩm ON Sản_phẩm.MaLoai = Loại_sản_phẩm.MaLoai ORDER BY Loại_sản_phẩm.TenLoai DESC, Sản_phẩm.Giá ASC
Câu 17: Xét bảng `Nhân viên` (mã NV, tên NV, mã phòng) và `Phòng ban` (mã phòng, tên phòng, địa điểm). Câu lệnh SQL nào tìm tên nhân viên, tên phòng ban và địa điểm phòng ban của tất cả nhân viên, kể cả nhân viên chưa được gán phòng ban?
- A. SELECT Nhân_viên.TenNV, Phòng_ban.TenPhong, Phòng_ban.DiaDiem FROM Nhân_viên INNER JOIN Phòng_ban ON Nhân_viên.MaPhong = Phòng_ban.MaPhong
- B. SELECT Nhân_viên.TenNV, Phòng_ban.TenPhong, Phòng_ban.DiaDiem FROM Nhân_viên LEFT JOIN Phòng_ban ON Nhân_viên.MaPhong = Phòng_ban.MaPhong
- C. SELECT TenNV, TenPhong, DiaDiem FROM Nhân_viên, Phòng_ban
- D. SELECT * FROM Nhân_viên LEFT JOIN Phòng_ban
Câu 18: Cho ba bảng: `Giáo viên` (mã GV, tên GV), `Môn học` (mã MH, tên MH), `Giảng dạy` (mã GV, mã MH, năm học). Câu lệnh SQL nào truy vấn tên giáo viên và số lượng môn học mà mỗi giáo viên dạy trong năm học "2023-2024"?
- A. SELECT Giáo_viên.TenGV, Môn_học.TenMH FROM Giáo_viên INNER JOIN Giảng_dạy ON Giáo_viên.MaGV = Giảng_dạy.MaGV INNER JOIN Môn_học ON Giảng_dạy.MaMH = Môn_học.MaMH WHERE Giảng_dạy.Nam_hoc = "2023-2024"
- B. SELECT TenGV, COUNT(*) FROM Giáo_viên WHERE Giảng_dạy.Nam_hoc = "2023-2024"
- C. SELECT Giáo_viên.TenGV, COUNT(Giảng_dạy.MaMH) FROM Giáo_viên INNER JOIN Giảng_dạy ON Giáo_viên.MaGV = Giảng_dạy.MaGV WHERE Giảng_dạy.Nam_hoc = "2023-2024" GROUP BY Giáo_viên.TenGV
- D. SELECT Giáo_viên.TenGV, SUM(Giảng_dạy.MaMH) FROM Giáo_viên INNER JOIN Giảng_dạy ON Giáo_viên.MaGV = Giảng_dạy.MaGV WHERE Giảng_dạy.Nam_hoc = "2023-2024" GROUP BY Giáo_viên.TenGV
Câu 19: Bảng `Sản phẩm` (mã SP, tên SP, giá) và `Khuyến mãi` (mã KM, tên KM, mã SP, giảm giá). Câu lệnh SQL nào tìm tên sản phẩm và tên khuyến mãi áp dụng cho sản phẩm đó, chỉ xét những sản phẩm đang có khuyến mãi?
- A. SELECT Sản_phẩm.TenSP, Khuyến_mãi.TenKM FROM Sản_phẩm LEFT JOIN Khuyến_mãi ON Sản_phẩm.MaSP = Khuyến_mãi.MaSP
- B. SELECT TenSP, TenKM FROM Sản_phẩm, Khuyến_mãi
- C. SELECT Sản_phẩm.TenSP FROM Sản_phẩm WHERE EXISTS (SELECT 1 FROM Khuyến_mãi WHERE Khuyến_mãi.MaSP = Sản_phẩm.MaSP)
- D. SELECT Sản_phẩm.TenSP, Khuyến_mãi.TenKM FROM Sản_phẩm INNER JOIN Khuyến_mãi ON Sản_phẩm.MaSP = Khuyến_mãi.MaSP
Câu 20: Cho bảng `Bài hát` (mã BH, tên BH, mã ca sĩ) và `Ca sĩ` (mã CS, tên CS, quốc gia). Câu lệnh SQL nào tìm tên bài hát và tên ca sĩ, nhưng chỉ cho những ca sĩ đến từ "Việt Nam"?
- A. SELECT Bài_hát.TenBH, Ca_sĩ.TenCS FROM Bài_hát INNER JOIN Ca_sĩ ON Bài_hát.MaCS = Ca_sĩ.MaCS WHERE Ca_sĩ.QuocGia = "Việt Nam"
- B. SELECT TenBH, TenCS FROM Bài_hát WHERE Ca_sĩ.QuocGia = "Việt Nam"
- C. SELECT Bài_hát.TenBH, Ca_sĩ.TenCS FROM Bài_hát LEFT JOIN Ca_sĩ ON Bài_hát.MaCS = Ca_sĩ.MaCS WHERE Ca_sĩ.QuocGia = "Việt Nam"
- D. SELECT * FROM Bài_hát INNER JOIN Ca_sĩ WHERE QuocGia = "Việt Nam"
Câu 21: Trong cơ sở dữ liệu quản lý nhân sự, bảng `Nhân viên` (manv, hoten, maphong) và `PhongBan` (maphong, tenphong). Câu lệnh SQL nào truy xuất danh sách tên nhân viên và tên phòng ban mà họ thuộc về, sắp xếp kết quả theo tên phòng ban rồi đến tên nhân viên?
- A. SELECT NV.hoten, PB.tenphong FROM NhanVien NV INNER JOIN PhongBan PB ON NV.maphong = PB.maphong
- B. SELECT NV.hoten, PB.tenphong FROM NhanVien NV INNER JOIN PhongBan PB ON NV.maphong = PB.maphong ORDER BY PB.tenphong, NV.hoten
- C. SELECT hoten, tenphong FROM NhanVien, PhongBan ORDER BY tenphong, hoten
- D. SELECT NV.hoten, PB.tenphong FROM NhanVien NV, PhongBan PB ORDER BY PB.tenphong, NV.hoten
Câu 22: Cho hai bảng `Hóa đơn` (mahd, makh, ngaylap) và `Chi tiết hóa đơn` (mahd, masp, soluong, dongia). Câu lệnh SQL nào tính tổng giá trị mỗi hóa đơn (tổng của số lượng * đơn giá cho tất cả sản phẩm trong hóa đơn)?
- A. SELECT SUM(cthd.soluong * cthd.dongia) FROM ChiTietHoaDon cthd
- B. SELECT hd.mahd, cthd.soluong * cthd.dongia FROM HoaDon hd INNER JOIN ChiTietHoaDon cthd ON hd.mahd = cthd.mahd
- C. SELECT hd.mahd, SUM(cthd.soluong * cthd.dongia) FROM HoaDon hd INNER JOIN ChiTietHoaDon cthd ON hd.mahd = cthd.mahd GROUP BY hd.mahd
- D. SELECT hd.mahd, SUM(cthd.soluong) * SUM(cthd.dongia) FROM HoaDon hd INNER JOIN ChiTietHoaDon cthd ON hd.mahd = cthd.mahd GROUP BY hd.mahd
Câu 23: Xét bảng `Sinh viên` (masv, tensv, malop) và `Lớp` (malop, tenlop, khoa). Câu lệnh SQL nào tìm tên sinh viên và tên lớp của những sinh viên thuộc khoa "Công nghệ thông tin"?
- A. SELECT SV.tensv, L.tenlop FROM SinhVien SV INNER JOIN Lop L ON SV.malop = L.malop
- B. SELECT tensv, tenlop FROM SinhVien, Lop WHERE khoa = "Công nghệ thông tin"
- C. SELECT SV.tensv, L.tenlop FROM SinhVien SV LEFT JOIN Lop L ON SV.malop = L.malop WHERE L.khoa = "Công nghệ thông tin"
- D. SELECT SV.tensv, L.tenlop FROM SinhVien SV INNER JOIN Lop L ON SV.malop = L.malop WHERE L.khoa = "Công nghệ thông tin"
Câu 24: Bảng `Nhà xuất bản` (manxb, tennxb, diachi) và `Sách` (masach, tensach, manxb). Câu lệnh SQL nào liệt kê tên nhà xuất bản và số lượng sách mà mỗi nhà xuất bản đã xuất bản?
- A. SELECT NXB.tennxb, COUNT(*) FROM NhaXuatBan NXB INNER JOIN Sach S ON NXB.manxb = S.manxb GROUP BY NXB.tennxb
- B. SELECT tennxb, COUNT(*) FROM NhaXuatBan
- C. SELECT NXB.tennxb, S.masach FROM NhaXuatBan NXB INNER JOIN Sach S ON NXB.manxb = S.manxb
- D. SELECT NXB.tennxb, SUM(S.masach) FROM NhaXuatBan NXB INNER JOIN Sach S ON NXB.manxb = S.manxb GROUP BY NXB.tennxb
Câu 25: Cho ba bảng: `Sản phẩm` (masp, tensp, gia), `Đơn hàng` (madh, ngaydh, makh), `Chi tiết đơn hàng` (madh, masp, soluong). Câu lệnh SQL nào tìm tên sản phẩm và tổng số lượng sản phẩm đó đã bán được từ tất cả các đơn hàng?
- A. SELECT SP.tensp, CTDH.soluong FROM SanPham SP INNER JOIN ChiTietDonHang CTDH ON SP.masp = CTDH.masp
- B. SELECT SP.tensp, SUM(CTDH.soluong) FROM SanPham SP INNER JOIN ChiTietDonHang CTDH ON SP.masp = CTDH.masp GROUP BY SP.tensp
- C. SELECT tensp, SUM(soluong) FROM SanPham, ChiTietDonHang
- D. SELECT SP.tensp, SUM(CTDH.soluong) FROM SanPham SP LEFT JOIN ChiTietDonHang CTDH ON SP.masp = CTDH.masp GROUP BY SP.tensp
Câu 26: Bảng `Nhân viên` (manv, hoten, luong, maphong) và `PhongBan` (maphong, tenphong). Câu lệnh SQL nào tìm tên phòng ban và mức lương trung bình của nhân viên trong mỗi phòng ban?
- A. SELECT PB.tenphong, NV.luong FROM PhongBan PB INNER JOIN NhanVien NV ON PB.maphong = NV.maphong
- B. SELECT tenphong, AVG(luong) FROM PhongBan, NhanVien
- C. SELECT PB.tenphong, AVG(NV.luong) FROM PhongBan PB INNER JOIN NhanVien NV ON PB.maphong = NV.maphong GROUP BY PB.tenphong
- D. SELECT PB.tenphong, SUM(NV.luong) FROM PhongBan PB INNER JOIN NhanVien NV ON PB.maphong = NV.maphong GROUP BY PB.tenphong
Câu 27: Cho lược đồ CSDL: `Khách hàng` (makh, tenkh) và `Đơn hàng` (madh, makh, ngaydh). Câu lệnh SQL nào tìm tên khách hàng và ngày đặt đơn hàng đầu tiên của mỗi khách hàng?
- A. SELECT KH.tenkh, DH.ngaydh FROM KhachHang KH INNER JOIN DonHang DH ON KH.makh = DH.makh
- B. SELECT tenkh, MIN(ngaydh) FROM KhachHang, DonHang
- C. SELECT KH.tenkh, DH.ngaydh FROM KhachHang KH LEFT JOIN DonHang DH ON KH.makh = DH.makh ORDER BY DH.ngaydh ASC
- D. SELECT KH.tenkh, MIN(DH.ngaydh) FROM KhachHang KH INNER JOIN DonHang DH ON KH.makh = DH.makh GROUP BY KH.tenkh
Câu 28: Bảng `Sản phẩm` (masp, tensp, gia, maloai) và `Loại sản phẩm` (maloai, tenloai). Câu lệnh SQL nào tìm tên loại sản phẩm và số lượng sản phẩm thuộc mỗi loại, chỉ xét các loại sản phẩm có ít nhất 5 sản phẩm?
- A. SELECT LSP.tenloai, COUNT() FROM LoaiSanPham LSP INNER JOIN SanPham SP ON LSP.maloai = SP.maloai GROUP BY LSP.tenloai HAVING COUNT() >= 5
- B. SELECT tenloai, COUNT() FROM LoaiSanPham WHERE COUNT() >= 5
- C. SELECT LSP.tenloai, COUNT() FROM LoaiSanPham LSP INNER JOIN SanPham SP ON LSP.maloai = SP.maloai WHERE COUNT() >= 5 GROUP BY LSP.tenloai
- D. SELECT LSP.tenloai, SUM() FROM LoaiSanPham LSP INNER JOIN SanPham SP ON LSP.maloai = SP.maloai GROUP BY LSP.tenloai HAVING SUM() >= 5
Câu 29: Cho bảng `Sinh viên` (masv, tensv, ngaysinh) và `Điểm` (masv, mamh, diemso). Câu lệnh SQL nào tìm tên sinh viên và điểm trung bình của mỗi sinh viên?
- A. SELECT SV.tensv, D.diemso FROM SinhVien SV INNER JOIN Diem D ON SV.masv = D.masv
- B. SELECT SV.tensv, AVG(D.diemso) FROM SinhVien SV INNER JOIN Diem D ON SV.masv = D.masv GROUP BY SV.tensv
- C. SELECT tensv, AVG(diemso) FROM SinhVien, Diem
- D. SELECT SV.tensv, SUM(D.diemso) FROM SinhVien SV INNER JOIN Diem D ON SV.masv = D.masv GROUP BY SV.tensv
Câu 30: Bảng `Dự án` (mada, tenda, kinhphi) và `Nhân viên dự án` (manv, mada, vaitro). Câu lệnh SQL nào tìm tên dự án và số lượng nhân viên tham gia mỗi dự án?
- A. SELECT DA.tenda, NVDA.manv FROM DuAn DA INNER JOIN NhanVienDuAn NVDA ON DA.mada = NVDA.mada
- B. SELECT tenda, COUNT(*) FROM DuAn
- C. SELECT DA.tenda, COUNT(*) FROM DuAn DA INNER JOIN NhanVienDuAn NVDA ON DA.mada = NVDA.mada GROUP BY DA.tenda
- D. SELECT DA.tenda, SUM(*) FROM DuAn DA INNER JOIN NhanVienDuAn NVDA ON DA.mada = NVDA.mada GROUP BY DA.tenda