FULL OUTER JOIN Trong SQL Server
Có thể bạn quan tâm
Table of Contents
- FULL OUTER JOIN trong SQL Server
- Giới thiệu về FULL OUTER JOIN trong SQL Server
- Ví dụ về FULL OUTER JOIN trong SQL Server
Trong hướng dẫn này, bạn sẽ tìm hiểu cách sử dụng mệnh đề FULL OUTER JOIN trong SQL Server để truy vấn dữ liệu từ hai hoặc nhiều bảng.
Giới thiệu về FULL OUTER JOIN trong SQL Server
Mệnh đề FULL OUTER JOIN trả về một tập kết quả bao gồm các bản ghi từ cả hai bảng bên trái và bên phải.
Khi không có bản ghi phù hợp tồn tại cho bản ghi trong bảng bên trái, các cột của bảng bên phải sẽ có giá trị null.
Tương tự, khi không có bản ghi phù hợp tồn tại cho bản ghi trong bảng bên phải, cột của bảng bên trái sẽ có giá trị null.
Sau đây minh họa cú pháp của FULL OUTER JOIN khi join hai bảng T1 và T2:
SELECT select_list FROM T1 FULL OUTER JOIN T2 ON join_predicate;Từ khóa OUTER là tùy chọn nên bạn có thể bỏ qua nó như truy vấn sau đây:
SELECT select_list FROM T1 FULL JOIN T2 ON join_predicate;Trong cú pháp này:
- Đầu tiên, chỉ định bảng bên trái T1 trong mệnh đề FROM.
- Thứ hai, chỉ định bảng T2 và biểu thức join.
Biểu đồ Venn sau đây minh họa FULL OUTER JOIN hai tập kết quả:
Ví dụ về FULL OUTER JOIN trong SQL Server
Chúng ta sẽ tạo một số bảng mẫu để minh họa cho FULL OUTER JOIN trong SQL Server.
Đầu tiên, tạo một lược đồ mới có tên pm là viết tắt của project management (quản lý dự án).
CREATE SCHEMA pm; GOTiếp theo, tạo các bảng mới có tên projects và members trong lược đồ pm:
CREATE TABLE pm.projects( id INT PRIMARY KEY IDENTITY, title VARCHAR(255) NOT NULL ); CREATE TABLE pm.members( id INT PRIMARY KEY IDENTITY, name VARCHAR(120) NOT NULL, project_id INT, FOREIGN KEY (project_id) REFERENCES pm.projects(id) );Giả sử, mỗi thành viên chỉ có thể tham gia vào một dự án và mỗi dự án có không hoặc nhiều thành viên. Nếu một dự án đang trong giai đoạn ý tưởng, do đó không có thành viên nào được chỉ định.
Sau đó, chèn một số bản ghi vào bảng projects và members:
INSERT INTO pm.projects(title) VALUES ('New CRM for Project Sales'), ('ERP Implementation'), ('Develop Mobile Sales Platform'); INSERT INTO pm.members(name, project_id) VALUES ('John Doe', 1), ('Lily Bush', 1), ('Jane Doe', 2), ('Jack Daniel', null);Sau đó, truy vấn dữ liệu từ bảng projects và members:
SELECT * FROM pm.projects;Đây là kết quả:
SELECT * FROM pm.members;Đây là kết quả:
Cuối cùng, truy vấn dữ liệu sử dụng mệnh đề FULL OUTER JOIN từ hai bảng projects và members như sau:
SELECT m.name member, p.title project FROM pm.members m FULL OUTER JOIN pm.projects p ON p.id = m.project_id;Đây là kết quả:
Trong ví dụ này, truy vấn trả về các thành viên tham gia vào các dự án, các thành viên không tham gia vào bất kỳ dự án nào và các dự án không có bất kỳ thành viên nào.
Để tìm các thành viên không tham gia vào bất kỳ dự án và dự án nào không có bất kỳ thành viên nào, bạn thêm một mệnh đề WHERE vào truy vấn trên như sau:
SELECT m.name member, p.title project FROM pm.members m FULL OUTER JOIN pm.projects p ON p.id = m.project_id WHERE m.id IS NULL OR P.id IS NULL;Đây là kết quả:
Như được thể hiện rõ trong đầu ra, Jack Daniel không tham gia vào bất kỳ dự án nào và dự án Develop Mobile Sales Platform không có bất kỳ thành viên nào.
Trong hướng dẫn này, bạn đã học cách sử dụng mệnh đề FULL OUTER JOIN trong SQL Server để truy vấn dữ liệu từ hai hoặc nhiều bảng.
Từ khóa » Câu Lệnh Full Outer Join Trong Sql
-
Full Outer Join Trong SQL Server | How Kteam
-
FULL JOIN Trong SQL
-
Câu Lệnh SQL Join: Các Loại Join Trong SQL - Viblo
-
Full Outer Join Trong SQL - Blog Kênh Tin Học
-
Truy Vấn Nhiều Bảng Với JOIN Trong SQL
-
Từ Khóa FULL OUTER JOIN Trong SQL - BAC
-
Câu Lệnh SQL Join: Các Loại Join Trong SQL - Sen Tây Hồ
-
Outer Join Trong Oracle
-
SQL FULL OUTER JOIN Keyword - W3Schools
-
Bài 25: OUTER JOIN Trong SQL - TEDU
-
SQL LEFT JOIN Keyword - W3Schools
-
Chi Tiết Bài Học 02. JOIN Trong SQL - Vimentor
-
Các Loại Join (Inner Join, Left Outer Join, Right Outer Join, Full Join ...