Giải Tin học 11 Bài 23: Thực hành truy xuất dữ liệu qua liên kết các bảng
Lời giải:
Trong giao diện của một hệ quản trị CSDL, để truy xuất dữ liệu từ các bảng khác theo mối quan hệ thì người dùng có thể sử dụng các công cụ truy vấn dữ liệu như truy vấn SQL hoặc các công cụ đồ họa. Các công cụ này thường cung cấp các tính năng đồ họa giúp người dùng thiết kế và tạo các mối quan hệ giữa các bảng và cho phép người dùng truy xuất dữ liệu từ các bảng khác nhau bằng cách sử dụng các truy vấn SQL.
Cụ thể, để truy xuất dữ liệu từ các bảng có mối quan hệ với nhau, người dùng cần sử dụng câu lệnh JOIN để kết hợp các bảng với nhau theo khoá ngoài. Câu lệnh JOIN cho phép bạn truy xuất dữ liệu từ nhiều bảng cùng một lúc bằng cách ghép các bảng lại với nhau theo khoá ngoài.
Luyện tập
Giải Tin học 11 trang 112
Lời giải:
SELECT bt.idbannhac AS idBanthuam,
bn.tenbannhac AS tenBannhac,
tl.tentheloai AS tenTheloai,
ns.tennhacsi AS tenNhacsi,
cs.tencasi AS tenCasi
FROM banthuam bt
JOIN bannhac bn ON bt.idbannhac = bn.idbannhac
JOIN nhacsi ns ON bn.idnhacsi = ns.idnhacsi
JOIN casi cs ON bt.idcasi = cs.idcasi
JOIN theloai tl ON bn.idtheloai = tl.idtheloai;
Lời giải:
SELECT bt.idbannhac AS idBanthuam,
bn.tenbannhac AS tenBannhac,
tl.tentheloai AS tenTheloai,
cs.tencasi AS tenCasi
FROM banthuam bt
JOIN bannhac bn ON bt.idbannhac = bn.idbannhac
JOIN nhacsi ns ON bn.idnhacsi = ns.idnhacsi
JOIN casi cs ON bt.idcasi = cs.idcasi
JOIN theloai tl ON bn.idtheloai = tl.idtheloai
WHERE ns.tennhacsi = 'Văn Cao';
Lời giải:
SELECT bt.idbannhac AS idBanthuam,
bn.tenbannhac AS tenBannhac,
ns.tennhacsi AS tenTacgia,
tl.tentheloai AS tenTheloai
FROM banthuam bt
JOIN bannhac bn ON bt.idbannhac = bn.idbannhac
JOIN nhacsi ns ON bn.idnhacsi = ns.idnhacsi
JOIN casi cs ON bt.idcasi = cs.idcasi
JOIN theloai tl ON bn.idtheloai = tl.idtheloai
WHERE cs.tencasi = 'Lê Dung';
Lời giải:
SELECT bt.idbannhac AS idBanthuam,
bn.tenbannhac AS tenBannhac,
ns.tennhacsi AS tenTacgia,
cs.tencasi AS tenCasi
FROM banthuam bt
JOIN bannhac bn ON bt.idbannhac = bn.idbannhac
JOIN nhacsi ns ON bn.idnhacsi = ns.idnhacsi
JOIN casi cs ON bt.idcasi = cs.idcasi
JOIN theloai tl ON bn.idtheloai = tl.idtheloai
WHERE cs.tencasi = 'Lê Dung' AND tl.tentheloai = 'Nhạc trữ tình';
Vận dụng
Lời giải:
Chúng ta có hai bảng trong cơ sở dữ liệu: "tinhthanhpho" và "quanhuyen". Bảng "tinhthanhpho" chứa thông tin về các tỉnh/thành phố, bao gồm các trường: "id_tinhthanhpho" (khóa chính), "tentinhthanhpho" (tên tỉnh/thành phố), "quocgia" (quốc gia). Bảng "quanhuyen" chứa thông tin về các quận/huyện, bao gồm các trường: "id_quanhuyen" (khóa chính), "tenquanhuyen" (tên quận/huyện), "id_tinhthanhpho" (khóa ngoại liên kết với "id_tinhthanhpho" trong bảng "tinhthanhpho").
Để truy xuất thông tin của quận/huyện kèm theo thông tin của tỉnh/thành phố tương ứng, ta có thể sử dụng truy vấn SQL sau:
SELECT qh.tenquanhuyen AS tenQuanHuyen,
tp.tentinhthanhpho AS tenTinhThanhPho,
tp.quocgia AS quocGia
FROM quanhuyen qh
JOIN tinhthanhpho tp ON qh.id_tinhthanhpho = tp.id_tinhthanhpho;
Xem thêm lời giải bài tập SGK Tin học 11 Kết nối tri thức hay, chi tiết khác:
Bài 21: Thực hành cập nhật và truy xuất dữ liệu các bảng
Bài 22: Thực hành cập nhật bảng dữ liệu có tham chiếu
Bài 24: Thực hành sao lưu dữ liệu