TRANG CHỦ

Tin 11 - Bài 23: Thực hành truy xuất dữ liệu qua liên kết các bảng

Bài học giúp em hiểu cách truy xuất dữ liệu từ nhiều bảng có liên hệ khóa với nhau, đặc biệt là cách dùng INNER JOIN để lấy thông tin đầy đủ từ cơ sở dữ liệu.

I. Mục tiêu bài học

  • Hiểu cách truy xuất dữ liệu từ nhiều bảng thông qua liên kết khóa, đặc biệt là khóa ngoại.
INNER JOIN Khóa ngoại Liên kết bảng SQL HeidiSQL

II. Khái niệm liên kết bảng

  • Các bảng trong cơ sở dữ liệu có thể liên hệ với nhau thông qua khóa ngoại.
  • Nhờ mối liên hệ này, có thể lấy dữ liệu từ nhiều bảng để tạo ra thông tin đầy đủ hơn.
Ý chính: Dữ liệu truy xuất không chỉ nằm trong một bảng riêng lẻ mà có thể được ghép từ nhiều bảng dựa trên quan hệ khóa.

III. Nhiệm vụ 1: Truy vấn 2 bảng

1. Vấn đề

  • Bảng bannhac không có trường tenNhacsi.
  • Bảng nhacsi lại chứa thông tin tenNhacsi.
  • Muốn lấy đủ thông tin bản nhạc và nhạc sĩ thì cần kết hợp hai bảng.

2. Cách thực hiện

Dùng mệnh đề INNER JOIN để nối các bảng theo trường liên kết.

Cấu trúc chung:
SELECT các_trường
FROM bảng_A INNER JOIN bảng_B
ON điều_kiện_kết_nối
[WHERE ...]
[ORDER BY ...];

3. Ví dụ

Lấy tên bản nhạc và tên nhạc sĩ:

SELECT bannhac.tenBannhac, nhacsi.tenNhacsi
FROM bannhac INNER JOIN nhacsi
ON bannhac.idNhacsi = nhacsi.idNhacsi;

4. Lưu ý

  • Có thể đặt tên lại trường bằng AS để phân biệt khi nhiều bảng có trường trùng tên.
  • HeidiSQL hỗ trợ tô màu cú pháp khi viết truy vấn.
  • HeidiSQL cũng gợi ý tên bảng, tên trường trong quá trình nhập lệnh.

IV. Nhiệm vụ 2: Truy vấn nhiều hơn 2 bảng

1. Cách làm

Dùng nhiều mệnh đề INNER JOIN liên tiếp để kết hợp thêm bảng.

SELECT ...
FROM bảng_A
INNER JOIN bảng_B ON ...
INNER JOIN bảng_C ON ...

2. Ý nghĩa

  • Cho phép kết hợp dữ liệu từ 3 bảng trở lên thông qua các khóa liên kết.
  • Nhờ đó có thể truy xuất đầy đủ thông tin như bản nhạc, nhạc sĩ, ca sĩ, thể loại...

V. Nhiệm vụ 3: Tìm hiểu ứng dụng

  • Giao diện quản lý cho phép chọn dữ liệu từ các danh sách có sẵn.
  • Hệ thống có thể hiển thị đầy đủ thông tin của bản nhạc, nhạc sĩ và ca sĩ.
Nhận xét: Người dùng không cần biết cấu trúc chi tiết của cơ sở dữ liệu vẫn có thể thao tác dễ hiểu, dễ dùng và giữ được tính nhất quán dữ liệu.

VI. Luyện tập

  • Viết truy vấn để lấy danh sách bản thu âm với đầy đủ thông tin.
  • Lọc dữ liệu theo nhạc sĩ.
  • Lọc dữ liệu theo ca sĩ.
  • Lọc dữ liệu theo thể loại.
  • Áp dụng JOIN nhiều bảng kết hợp với điều kiện WHERE.

VII. Vận dụng và ghi nhớ nhanh

  • Vận dụng: Thực hành truy vấn liên kết bảng Quận/Huyện với bảng Tỉnh/Thành phố.
  • Ghi nhớ: Dùng INNER JOIN để nối bảng qua khóa.
  • Ghi nhớ: Có thể nối 2 bảng hoặc nhiều bảng.
  • Ghi nhớ: Dữ liệu truy xuất dựa trên quan hệ giữa các bảng.
  • Ghi nhớ: Có thể kết hợp thêm WHERE để lọc và ORDER BY để sắp xếp.