Công ty TNHH TMĐT Công nghệ LP

5.0/5 (913 Reviews)

Ở bài viết này, LPTech sẽ cho bạn biết OUTER JOIN và INNER JOIN trong SQL là gì. Đồng thời còn hướng dẫn bạn cách sử dụng các loại JOIN một cách chính xác nhất. Tham khảo bài viết ngay để tích lũy thêm nhiều kiến thức hữu về câu lệnh truy vấn JOIN trong SQL bạn nhé. 

JOIN trong SQL là gì?

Ngôn ngữ truy vấn có cấu trúc (SQL) là ngôn ngữ lập trình được nghiên cứu và phát triển nhằm để lưu trữ, xử lý cũng như trích xuất những dữ liệu có trong các cơ sở dữ liệu quan hệ. Dạng ngôn ngữ lập trình này có thể hoạt động với nhiều hệ quản trị cơ sở dữ liệu (DBMS) như: MySQL, SQL Server, Informix, Postgres, MS Access, Oracle, Sybase,...

Toán tử JOIN sẽ giúp người dùng kết hợp được các thông tin có liên quan thông qua nhiều cách thức khác nhau. JOIN được biết đến phổ biến với hai loại kết nối chính là kết nối INNERkết nối OUTER.

Tìm hiểu thông tin về ngôn ngữ truy vấn có cấu trúc (SQL) và JOIN

> Xem thêm:

Cách sử dụng INNER JOIN trong SQL

INNER JOIN trong SQL là dạng JOIN phổ biến và thường được sử dụng nhất. Nó thực hiện việc trả về các bản ghi có giá trị khớp trong hai bảng và loại bỏ đi các bản ghi có giá trị không khớp. 

INNER JOIN trong SQL có tác dụng lọc những dữ liệu liên quan và chính xác từ các bảng. Nhờ vậy mà tránh được tình trạng dữ liệu bị thừa hoặc là bị sai lệch. Ngoài ra, INNER JOIN còn có thể tối ưu hóa hiệu năng của truy vấn, rút ngắn thời gian xử lý và tăng tốc độ trả về kết quả.

Như hình bên dưới, phép nối sẽ giữ lại thông tin từ hai bảng đã nối có liên quan với nhau. Ví dụ hai bảng dưới là dạng sơ đồ Venn, kết quả nhận được từ INNER JOIN là khu vực màu xanh lá cây, chồng chéo lên nhau.

INNER JOIN là dạng JOIN được sử dụng phổ biến nhất

Cú pháp INNER JOIN trong SQL:

SELECT column_name(s)

FROM table1

INNER JOIN table2

ON table1.column_name = table2.column_name;

Cú pháp INNER JOIN nhiều table:

SELECT column_list

FROM table1

INNER JOIN table2 ON join_condition1

INNER JOIN table3 ON join_condition2

Ví dụ: chúng ta dùng INNER JOIN để kết hợp dữ liệu từ hai bảng BảngA và BảngB:

SELECT BảngA.cột1, BảngB.cột2

FROM BảngA

INNER JOIN BảngB ON BảngA.khóa_chung = BảngB.khóa_chung;

Cách sử dụng OUTER JOIN trong SQL

Trong trường hợp người dùng không chỉ muốn giữ lại những dữ liệu có liên quan, mà còn muốn giữ lại nhiều hơn thế thì nên sử dụng đến phép nối OUTER. OUTER JOIN trong SQL có ba loại bao gồm: RIGHT JOIN, LEFT JOIN, và FULL JOIN

Ba loại này có sự khác biệt chủ yếu là ở những dữ liệu không liên quan mà chúng lưu giữ. Đó là ở bảng thứ nhất, thứ hai hoặc là ở cả hai bảng. Với những ô không có dữ liệu cần điền thì sẽ có giá trị là NULL. Cùng tìm hiểu về ba loại OUTER JOIN trong SQL và cách sử dụng chúng ngay bên dưới đây bạn nhé.

LEFT OUTER JOIN (LEFT JOIN) trong SQL

Khi bạn sử dụng hàm LEFT JOIN trong SQL, ngoài giữ lại dữ liệu liên quan của hai bảng thì nó còn dữ lại dữ liệu không liên quan của bảng đầu tiên (bảng bên trái). Tức là như hình bên dưới, khi bạn sử dụng sơ đồ Venn với hai vòng tròn. Kết quả bạn nhận được sẽ là phần màu xanh lá cây, gồm có phần chồng chéo của hai vòng tròn và cả phần của vòng tròn bên trái. 

Kết quả LEFT JOIN là dữ liệu chung và dữ liệu của bảng bên trái

Câu lệnh LEFT JOIN trong SQL:

SELECT column_name(s)

FROM table1

LEFT JOIN table2

ON table1.column_name = table2.column_name;

LEFT JOIN cũng có thể join nhiều table:

SELECT column_list

FROM table1

LEFT JOIN table2 ON join_condition1

LEFT JOIN table3 ON join_condition2

RIGHT OUTER JOIN (RIGHT JOIN) trong SQL

RIGHT OUTER JOIN hay còn được gọi đơn giản là RIGHT JOIN. Khi sử dụng RIGHT JOIN, ngoài dữ liệu liên quan thì nó còn giữ lại dữ liệu có trong bảng thứ hai. Trong sơ đồ Venn có hai vòng tròn như hình bên dưới, kết quả nhận được là khu vực màu xanh lá cây. Khu vực này bao gồm dữ liệu chung của hai vòng tròn và dữ liệu không liên quan trong vòng tròn thứ 2 (vòng tròn bên phải).

Kết quả RIGHT JOIN là dữ liệu chung và dữ liệu của bảng bên phải

Cú pháp của RIGHT OUTER JOIN trong SQL:

SELECT column_name(s)

FROM table1

RIGHT JOIN table2

ON table1.column_name = table2.column_name;

Vẫn với data 2 bảng trên các bạn hãy thử chạy câu lệnh RIGHT JOIN nhé!

RIGHT JOIN cũng có thể join nhiều table

SELECT column_list

FROM table1

RIGHT JOIN table2 ON join_condition1

RIGHT JOIN table3 ON join_condition2

FULL OUTER JOIN (FULL JOIN) trong SQL

FULL OUTER JOIN trong SQL chính là sự kết hợp của RIGHT JOIN và LEFT JOIN. Tức là nó sẽ giữ lại tất cả các dữ liệu có trong hai bảng. Với dữ liệu còn thiếu thì sẽ được điền bằng giá trị NULL.

Như hình bên dưới với sơ đồ Venn có hai vòng tròn. Kết quả nhận được là khu vực được đánh dấu màu xanh lá cây. Khu vực này bao gồm phần dữ liệu chồng chéo lên nhau của hai bảng và phần dữ liệu không liên quan của bảng bên trái lẫn bên phải.

FULL JOIN là kết hợp của RIGHT JOIN và LEFT JOIN

Cú pháp FULL OUTER JOIN trong SQL:

SELECT column_name(s)

FROM table1

FULL OUTER JOIN table2

ON table1.column_name = table2.column_name

WHERE condition;

Qua bài viết ở trên, LPTech đã cung cấp đến bạn những thông tin hữu ích về OUTER JOIN và INNER JOIN trong SQL. Giúp bạn biết được cách sử câu lệnh truy vấn JOIN có trong SQL sau cho hiệu quả và chính xác. Đừng quên thường xuyên theo dõi những bài viết khác của LPTech để cập nhật những kiến thức bổ ích bạn. 

Liên hệ tư vấn - LPTech

Thông tin liên hệ

Nếu bạn có thắc mắc gì, có thể gửi yêu cầu cho chúng tôi, và chúng tôi sẽ liên lạc lại với bạn sớm nhất có thể .

Công ty TNHH TMĐT Công nghệ LP

Giấy phép kinh doanh số 0315561312/GP bởi Sở Kế Hoạch và Đầu Tư TP. Hồ Chí Minh.

Văn phòng: Lầu 4, Toà nhà Lê Trí, 164 Phan Văn Trị, Phường 12,Quận Bình Thạnh, HCMC

Hotline: 0338 586 864

Mail: sales@lptech.asia

Zalo OA:LP Tech Zalo Official

Zalo Sales:033 85 86 86 64 (Sales)


Bài viết cùng chuyên mục

Localhost là gì? Chức năng và cách cài đặt localhost chi tiết

Localhost là gì? Chức năng và cách cài đặt...

Localhost là gì? Đây là một thuật ngữ quen thuộc trong lĩnh vực quản trị website. Localhost có thể được hiểu đơn giản là chạy máy tính...

Lỗi err_connection_refused là gì? Nguyên nhân và cách sửa

Lỗi err_connection_refused là gì? Nguyên nhân và...

Err_connection_refused là lỗi liên quan đến việc xảy ra trục trặc trong quá trình kết nối giữa máy chủ web và trình duyệt web. Tìm hiểu...

Cách xóa bộ đệm DNS trên Windows, Mac và Chrome

Cách xóa bộ đệm DNS trên Windows, Mac và Chrome

Làm sao để xóa bộ đệm DNS ra khỏi các loại trình duyệt web? Tìm hiểu ở bài viết này cách xóa DNS cache khỏi Windows, Mac và Chrome bằng...

Cloud Desktop là gì? Cách hoạt động và sử dụng máy tính ảo Cloud

Cloud Desktop là gì? Cách hoạt động và sử dụng...

Cloud Desktop là gì? Tìm hiểu cách thức hoạt động của máy tính ảo trên đám mây và hướng dẫn sử dụng chi tiết. Khám phá lợi ích của việc...

CDN là gì? Lợi ích khi sử dụng mạng phân phối nội dung (CDN)

CDN là gì? Lợi ích khi sử dụng mạng phân phối nội...

CDN là gì? Tìm hiểu về mạng phân phối nội dung (Content Delivery Network) và cách nó giúp tăng tốc độ tải trang web, cải thiện UX và giảm...

Protocol là gì? Các loại giao thức mạng và cách hoạt động của chúng

Protocol là gì? Các loại giao thức mạng và cách...

Protocol là gì? Đây là một thuật ngữ trong giao thức mạng, đóng vai trò là giao thức truyền thông để đưa ra quy tắc giao tiếp và trao đổi...

Sứ mệnh của LPTech ?

LPTech luôn đặt mình vào khách hàng để hiểu được bạn đang gặp khó khăn gì? Các doanh nghiệp hiện nay đang gặp khó khăn về việc quản lý vận hành website của mình. Chưa tìm được đối tác ưng ý và an toàn để giao trọn trọng trách quản lý website cho của bạn.

Thiết kế website nhưng lại không thể tăng thu nhập cũng như chưa có đối tác làm Dịch vụ SEO uy tín tin cậy. Chúng tôi hiểu được điều đó nên dành cả tâm huyết của mình để có thể hỗ trợ các doanh nghiệp một cách tốt nhất.