Latest Post

Tăng thứ hạng và truy cập tự nhiên với 10 phương pháp SEO hay nhất Kiếm Tiền Online (mmo): Khái Niệm và Các Hình Thức Phổ Biến

Khi cần kết hợp dữ liệu từ hai hoặc nhiều bảng trong Cơ sở dữ liệu, chúng ta sử dụng phép nối (JOIN) để liên kết dữ liệu từ các bảng này. Với INNER JOIN, khi thực hiện câu truy vấn, nó sẽ trả về dữ liệu mà khớp với nhau giữa hai hoặc nhiều bảng trong Cơ sở dữ liệu. Nói cách khác, dữ liệu trả về sau khi thực hiện INNER JOIN là sự kết hợp (giao) của dữ liệu từ hai hoặc nhiều bảng.

Cú pháp lệnh của INNER JOIN

SELECT
    Table_A.pk_column,
    Table_A.columns,
    Table_B.pk_column,
    Table_B.columns
FROM 
    Table_A
INNER JOIN 
    Table_B  ON Table_A.pk_column = Table_B.fk_column;

Một số ví dụ sử dụng INNER JOIN

INNER JOIN giữa 2 bảng CSDL

Giả sử chúng ta có 2 bảng employee và company có cấu trúc và mối quan hệ như bên dưới:

Dữ liệu của 2 bảng company & employee lần lượt như sau:

Yêu cầu: Lấy dữ liệu gồm tên nhân viên, vị trí, lương của công ty VinfastVinaSupport INC

SELECT e.fullname, e.position, e.salary, c.name
FROM employee as e
INNER JOIN company as c ON e.company_id = c.company_id
WHERE
  c.name = 'Vinfast'
  OR
  c.name = 'VinaSupport INC'
ORDER BY c.name;

Kết quả của câu query

INNER JOIN giữa 3 bảng CSDL

Giả sử chúng ta có thêm 1 bảng deparment có cấu trúc và quan hệ như bên dưới.

Dữ liệu của bảng department:

Dữ liệu của bảng employee sau khi có thêm liên kết với bảng department:

Yêu cầu: Lấy dữ liệu gồm tên nhân viên, vị trí, lương của các ông làm ở “Phòng Giám Đốc” của công ty Vinfast

SELECT e.fullname, e.position, e.salary, c.name, d.name
FROM employee as e
INNER JOIN company as c ON e.company_id = c.company_id
INNER JOIN department as d ON e.department_id = d.department_id
WHERE
  c.name = 'Vinfast'
  AND
  d.name = 'Phòng Giám Đốc';

Kết quả sau khi INNER JOIN 3 bảng

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *