Cách sử dụng câu lệnh truy vấn JOIN trong SQL

Ở 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.

> 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.

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. 

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).

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.

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. 

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:LP Tech Zalo Official

Liên hệ qua Zalo: 0338586864 ( hoặc bấm vào link này: http://lptech.asia/zalo-lptech). Hoặc nhập thông tin mà bạn cần hỗ trợ vào ô liên hệ bên dưới để lên lạc với LPTech nhé.

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

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à...

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

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...

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...

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...

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...

Bài viết mới nhất


Elasticsearch: Giải pháp tìm kiếm cho Big Data...

Elasticsearch là một công cụ tìm kiếm và phân tích được phát triển dựa trên Apache Lucene và được ứng dụng để xử lý đa dạng dữ liệu. Xem ngay trong...

CI/CD là gì? Vai trò của CI/CD trong DevOps và...

CI/CD là một công cụ quan trọng trong phát triển phần mềm, giúp kiểm tra lỗi và tối ưu hóa hiệu suất một cách liên tục. Tìm hiểu kĩ hơn về CI và CD!

Selenium là gì? Bộ công cụ kiểm thử tự động mã...

Selenium là một công cụ kiểm thử mã nguồn mở được xây dựng và cho phép sử dụng miễn phí trên nhiều hệ điều hành và trình duyệt khác nhau.

CRUD là gì? Vai trò của CRUD trong thiết kế...

CRUD là thuật ngữ được viết tắt từ Create, Read, Update và Delete, có chức năng quan trọng trong việc tạo hoạt động tương tác với database của...

Linux là gì? Ưu, nhược điểm của các phiên bản...

Linux là một hệ điều hành mã nguồn mở miễn phí được sử dụng phổ biến, ra đời từ năm 1991 và được viết bằng ngôn ngữ C. Đến nay, Linux vẫn được phát...

Quick sort là gì? Thuật toán sắp xếp và phân...

Quick sort là một loại thuật toán dùng để sắp xếp và phân loại nhanh tại chỗ, được ứng dụng phổ biến trong ngôn ngữ lập trình C++.

Việc làm remote là gì? Top các ngành làm remote...

Làm việc từ xa (remote work) là hình thức làm việc mà người lao động thực hiện công việc của mình ở một địa điểm khác với văn phòng chính của công...

Favicon là gì? Cách tạo và thêm favicon vào...

Favicon được viết tắt từ ‘favorite icon’, là một biểu tượng nhỏ hiển thị trên các thẻ (tab) khi mở một website. Dù favicon nhỏ nhưng lại cực kì...

ROM là gì? Chức năng và cách phân biệt ROM với RAM

ROM là gì? ROM là viết tắt của cụm từ Read Only Memory, là bộ nhớ trong của các thiết bị điện tử như máy tính, laptop và có tính bất biến.

Tết đoàn viên 2024: Ấm áp của sự sum vầy

Theo đất trời tự nhiên, một mùa trăng tròn mon men gõ cửa khắp mọi miền đất nước. Ánh trăng sáng, niềm hân hoan cùng những bữa phá cỗ hứa hẹn sẽ...