Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Tìm hiểu và sử dụng INNER JOIN trong PostgreSQL - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

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

Để lại một bình luận

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 *