Like & Share on Facebook
TROLY-EXCEL EXCEL-SQL EXCEL-OUTLOOK-VBA

Mệnh đề JOIN

Mệnh đề JOIN được sử dụng để kết hàng(row) từ 2 hay nhiều bảng dựa vào mối quan hệ cột.

Hãy nhìn vào 2 file mẫu bên dưới:

Cơ sở dữ liệu(CSDL) mẫu

Hình bên dưới chứa thông tin mẫu danh sách khách hàng bạn đang có, đây là file Excel đặt tên file là "Customers.xlsx", lưu tại vị trí bất kỳ trên máy tính.

Customers


Cơ sở dữ liệu(CSDL) mẫu

Hình bên dưới chứa thông tin mẫu danh sách các đơn hàng hiện có, đây là file Excel đặt tên file là "Orders.xlsx", lưu tại vị trí bất kỳ trên máy tính.

Orders


Để ý rằng cột "CustomerID" trong Sheet1 file "Orders.xlsx" tham chiếu đến cột "CustomerID" trong Sheet1 file "Customers.xlsx". Mối quan hệ giữa 2 file này chính là cột "CustomerID".

Chúng ta có thể tạo câu truy vấn kết 2 file này lại với nhau bằng cách sử dụng mệnh đề INNER JOIN. Khi đó, chúng ta sẽ có mẫu tin trùng khớp dữ liệu giữa 2 file

Ví dụ

SELECT o.OrderID, c.CustomerName, o.OrderDate
FROM `c:\troly-excel\Orders.xlsx`.[Sheet1$] o
INNER JOIN `c:\troly-excel\Customers.xlsx`.[Sheet1$] c ON o.CustomerID=c.CustomerID;

Xem kết quả »

×


Các loại mệnh đề JOIN

Dưới đây là 4 loại mệnh đề JOIN được sử dụng

  • (INNER) JOIN: Trả về các mẫu tin trùng khớp giữa 2 file
  • LEFT (OUTER) JOIN: Trả về tất cả mẫu tin của file bên trái sau khi đã kết thông tin trùng khớp với file bên phải
  • RIGHT (OUTER) JOIN: Trả về tất cả mẫu tin của file bên phải sau khi đã kết thông tin trùng khớp với file bên trái
  • FULL (OUTER) JOIN: Trả về tất cả thông tin của cả 2 file sau khi đã kết thông tin trùng khớp
  • SQL INNER JOIN  SQL LEFT JOIN  SQL RIGHT JOIN  SQL FULL OUTER JOIN


    Ví dụ LEFT JOIN

    Câu lệnh sau sẽ dùng LEFT JOIN để truy vấn CustomerName của tất cả các đơn hàng hiện có trong Sheet1 file "Orders.xlsx":

    Ví dụ

    SELECT o.*, c.CustomerName
    FROM `c:\troly-excel\Orders.xlsx`.[Sheet1$] o
    LEFT JOIN `c:\troly-excel\Customers.xlsx`.[Sheet1$] c ON o.CustomerID=c.CustomerID;

    Xem ví dụ »

    ×


    Ví dụ RIGHT JOIN

    Câu lệnh sau sẽ dùng RIGHT JOIN để truy vấn tất cả khách hàng có hóa đơn trong Sheet1 của file "Customers.xlsx":

    Ví dụ

    SELECT c.*, o.*
    FROM `c:\troly-excel\Orders.xlsx`.[Sheet1$] o
    RIGHT JOIN `c:\troly-excel\Customers.xlsx`.[Sheet1$] c ON o.CustomerID=c.CustomerID;

    Xem kết quả »

    ×


    Ví dụ FULL JOIN

    Câu lệnh sau dùng FULL JOIN để truy vấn tất cả khách hàng và hóa đơn đang có trong Sheet1 của file "Customers.xlsx" và "Orders.xlsx":

    Ví dụ

    SELECT c.*, o.*
    FROM `c:\troly-excel\Orders.xlsx`.[Sheet1$] o
    FULL JOIN `c:\troly-excel\Customers.xlsx`.[Sheet1$] c ON o.CustomerID=c.CustomerID;

    Xem kết quả »

    ×


    Ví dụ SELF JOIN

    Câu lệnh sau sẽ truy vấn các khách hàng đến cùng City trong Sheet1 của file "Customers.xlsx":

    Ví dụ

    SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
    FROM `c:\troly-excel\Customers.xlsx`.[Sheet1$] A, `c:\troly-excel\Customers.xlsx`.[Sheet1$] B
    WHERE A.CustomerID <> B.CustomerID
    AND A.City = B.City
    ORDER BY A.City;

    Xem kết quả »

    ×


    ❮ Bài trước

    Bài tiếp theo ❯



    Nếu cần trợ giúp? Hãy gửi email tới phucey@gmail.com hoặc chat với tôi!