VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

SQL cơ bản

SQL là gì? SQL - RDBMS là gì? SQL - Các hệ quản trị CSDL SQL - Cú pháp SQL - Kiểu dữ liệu SQL - Toán tử SQL - Biểu thức SQL - Create Database SQL - Drop Database SQL - Select Database SQL - Create Table SQL - Drop Table SQL - Câu lệnh Insert SQL - Câu lệnh Select SQL - Mệnh đề Where SQL - Toán tử AND & OR SQL - Câu lệnh Update SQL - Câu lệnh Delete SQL - Mệnh đề Like SQL - Mệnh đề Top SQL - Mệnh đề Order By SQL - Mệnh đề Group By SQL - Từ khóa Distinct

SQL nâng cao

SQL - Các ràng buộc SQL - Mệnh đề JOIN SQL - INNER JOIN SQL - RIGHT JOIN SQL - LEFT JOIN SQL - FULL JOIN SQL - SELF JOIN SQL - Mệnh đề UNION SQL - Giá trị NULL SQL - Sử dụng Alias SQL - Sử dụng Index SQL - Lệnh Alter SQL - Lệnh Truncate Table SQL - Sử dụng View SQL - Mệnh đề Having SQL - Transaction SQL - Ký tự đại diện SQL - Các hàm xử lý Date SQL - Bảng tạm thời SQL - Clone Table SQL - Sub Querie SQL - Sequence SQL - Xử lý Duplicate
1 / 3
❮ ❯

Full Join trong SQL


Ràng buộc trong SQL
Mệnh đề UNION trong SQL

Lệnh Full Join trong SQL là sự kết hợp các kết quả của cả hai phép nối Left Join và Right Join.

Kết quả join sẽ chứa tất cả các bản ghi từ cả hai bảng và điền vào NULL cho các kết quả bị thiếu ở hai bên.

Nội dung chính

  • Cú pháp
  • Ví dụ sử dụng lệnh Full Join trong SQL

Cú pháp

Cú pháp cơ bản của lệnh Full Join trong SQL như sau:

SELECT table1.column1, table2.column2...
FROM table1
FULL JOIN table2
ON table1.common_field = table2.common_field;
FULL JOIN trong SQL

Ví dụ sử dụng lệnh Full Join trong SQL

Tạo bảng Customers:

CREATE TABLE CUSTOMERS (
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25),
   SALARY   DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

Insert dữ liệu vào bảng Customers:

INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
    VALUES (1, 'Ha Anh', 32, 'Da Nang', 2000.00 );
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
    VALUES (2, 'Van Ha', 25, 'Ha Noi', 1500.00 );
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
    VALUES (3, 'Vu Bang', 23, 'Vinh', 2000.00 );
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
    VALUES (4, 'Thu Minh', 25, 'Ha Noi', 6500.00 );
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
    VALUES (5, 'Hai An', 27, 'Ha Noi', 8500.00 );
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
    VALUES (6, 'Hoang', 22, 'Ha Noi', 4500.00 );
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY)
    VALUES (7, 'Binh', 24, 'Ha Noi', 10000.00 );

Tạo bảng Orders:

CREATE TABLE ORDERS (
   OID  INT              NOT NULL,
   DATE VARCHAR (20)     NOT NULL,
   CUSTOMER_ID INT       NOT NULL,
   AMOUNT INT,
   PRIMARY KEY (OID)
);

Insert dữ liệu vào bảng Orders:

INSERT INTO ORDERS (OID, DATE, CUSTOMER_ID, AMOUNT)
    VALUES (102, '2009-10-08 00:00:00', 3, 10);
INSERT INTO ORDERS (OID, DATE, CUSTOMER_ID, AMOUNT)
    VALUES (100, '2009-10-08 00:00:00', 3, 15);
INSERT INTO ORDERS (OID, DATE, CUSTOMER_ID, AMOUNT)
    VALUES (101, '2009-11-20 00:00:00', 2, 5);
INSERT INTO ORDERS (OID, DATE, CUSTOMER_ID, AMOUNT)
    VALUES (103, '2008-05-20 00:00:00', 4, 20);

Bây giờ, chúng ta hãy join hai bảng này bằng cách sử dụng Full Join như sau:

SELECT  c.ID, c.NAME, o.AMOUNT, o.DATE
    FROM CUSTOMERS c
    FULL JOIN ORDERS o
    ON c.ID = o.CUSTOMER_ID;

Kết quả:

Ví dụ FULL JOIN trong SQL

Lưu ý: Nếu Cơ sở dữ liệu của bạn không hỗ trợ FULL JOIN (MySQL không hỗ trợ FULL JOIN), thì bạn có thể sử dụng lệnh UNION ALL để kết hợp hai phép JOIN như sau.

SELECT  ID, NAME, AMOUNT, DATE
   FROM CUSTOMERS c
   LEFT JOIN ORDERS o
   ON c.ID = o.CUSTOMER_ID
UNION ALL
   SELECT  ID, NAME, AMOUNT, DATE
   FROM CUSTOMERS c
   RIGHT JOIN ORDERS o
   ON c.ID = o.CUSTOMER_ID

Ràng buộc trong SQL
Mệnh đề UNION trong SQL

Recent Updates

Xử lý duplicate trong SQLWeb SQL Database trong HTML5Lệnh DELETE MySQL trong PythonLệnh UPDATE MySQL trong PythonLệnh SELECT MySQL trong PythonLệnh INSERT MySQL trong PythonTạo bảng MySQL trong PythonTạo new database MySQL trong PythonKết nối Python với MySQLCài đặt môi trường MySQL cho PythonVí dụ Hibernate 3 XML Mapping - SQLServer 2017Ví dụ Hibernate 4 Annotation Mapping - MySQLSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml