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

Mạng LAN là gì? Kết nối máy tính như thế nào? Các...

Mạng LAN là một loại mạng máy tính nội bộ, được sử dụng để các thiết bị có thể thiết kế với nhau và chia sẻ dữ liệu trong một khu vực nhỏ...

ISP là gì? Yếu tố cần đánh giá khi chọn nhà mạng

ISP là nhà cung cấp dịch vụ internet, giúp người dùng có thể kết nối intetnet ở mọi lúc mọi nơi, cùng tìm hiểu chi tiết hơn qua bài viế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à...

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

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


Hibernate ORM là gì? Khi nào nên dùng hibernate...

Hibernate ORM là một khung làm việc mã nguồn mở hoạt động như một tầng trung gian giữa ứng dụng và cơ sở dữ liệutrong Java dùng để ánh xạ các đối...

cURL là gì? Các câu lệnh cơ bản để sử dụng cURL

cURL là công cụ mạnh mẽ giúp bạn gửi và nhận dữ liệu qua nhiều giao thức khác nhau. Tìm hiểu chi tiết về cURL và các tính năng, giao thức mà nó hỗ...

CQRS Pattern là gì? Design pattern chuyên tách...

Tìm hiểu thông tin chi tiết về CQRS Pattern. CQRS (Command Query Responsibility Segregation) là một pattern giúp tách biệt command và query cực...

Chúc mừng sinh nhật Sếp Phú

Một hành trình mới bắt đầu cùng nhiều thử thách mới. Với sự tự tin, kiên cường và bản lĩnh, LPTech tin chắc rằng Sếp Phú của LPTech sẽ có nhiều...

Bool là gì? Tìm hiểu về kiểu dữ liệu bool trong...

Boolean là một kiểu dữ liệu cơ bản trong lập trình với C/C++, Jav,... Bool dùng để biểu diễn các giá trị logic đúng (true) hoặc sai (false). Xem...

Unit Test là gì? Tìm hiểu về khái niệm kiểm thử...

Unit Test sẽ giúp người dùng có thể xây dựng dự án một cách hiệu quả, để biết được những thông tin hữu ích về Unit Test. Hãy theo dõi thông tin...

CSRF là gì? Tìm hiểu cách chống tấn công giả...

CSRF (Cross-Site Request Forgery) là một dạng tấn công trong các ứng dụng web. Tìm hiểu chi tiết về CSRF và cách bảo vệ ứng dụng khỏi nguy cơ này.

Middleware là gì? Tầm quan trọng của middleware...

Middleware là một đoạn mã trung gian nằm trong các ứng dụng web được thiết kế trên mô hình client-server. Tìm hiểu middleware là gì và ứng dụng của...

JWT là gì? Tìm hiểu về khái niệm JSON Web Token

JWT (JSON Web Token) là một phương thức xác thực bằng mã hóa phổ biến trong các ứng dụng web, giúp truyền tải thông tin, xác thực và ủy quyền một...

Shell là gì? Các loại môi trường dòng lệnh phổ...

Shell còn được gọi là môi trường dòng lệnh. Đây là nơi cho phép người dùng tương tác với hệ điều hành thông qua các dòng lệnh. Tìm hiểu về shell và...