T-SQL - Nối các bảng

Máy chủ MS SQL Joinsmệnh đề được sử dụng để kết hợp các bản ghi từ hai hoặc nhiều bảng trong cơ sở dữ liệu. JOIN là một phương tiện để kết hợp các trường từ hai bảng bằng cách sử dụng các giá trị chung cho mỗi bảng.

Hãy xem xét hai bảng sau, bảng (a) CUSTOMERS như sau:

ID  NAME       AGE       ADDRESS             SALARY 
1   Ramesh     32        Ahmedabad           2000.00 
2   Khilan     25        Delhi               1500.00 
3   kaushik    23        Kota                2000.00 
4   Chaitali   25        Mumbai              6500.00 
5   Hardik     27        Bhopal              8500.00 
6   Komal      22        MP                  4500.00 
7   Muffy      24        Indore              10000.00

(b) Một bảng khác là ORDERS như sau:

OID  DATE                       CUSTOMER_ID        AMOUNT 
100  2009-10-08 00:00:00.000    3                  1500.00 
101  2009-11-20 00:00:00.000    2                  1560.00 
102  2009-10-08 00:00:00.000    3                  3000.00 
103  2008-05-20 00:00:00.000    4                  2060.00

Hãy để chúng tôi nối hai bảng này trong câu lệnh SELECT của chúng tôi như sau:

SELECT ID, NAME, AGE, AMOUNT 
   FROM CUSTOMERS, ORDERS 
   WHERE  CUSTOMERS.ID = ORDERS.CUSTOMER_ID 
OR 
SELECT A.ID, A.NAME, A.AGE, B.AMOUNT 
   FROM CUSTOMERS A inner join  ORDERS B on A.ID = B.Customer_ID

Lệnh trên sẽ tạo ra kết quả sau.

ID   NAME      AGE    AMOUNT 
2    Khilan    25     1560.00 
3    kaushik   23     1500.00 
3    kaushik   23     3000.00 
4    Chaitali  25     2060.00

Điều đáng chú ý là phép nối được thực hiện trong mệnh đề WHERE. Một số toán tử có thể được sử dụng để nối các bảng, chẳng hạn như =, <,>, <>, <=,> =,! =, BETWEEN, LIKE và NOT; tất cả chúng đều có thể được sử dụng để nối các bảng. Tuy nhiên, toán tử phổ biến nhất là ký hiệu bằng.

Các kiểu tham gia MS SQL Server -

Có nhiều kiểu nối khác nhau có sẵn trong MS SQL Server -

  • INNER JOIN - Trả về các hàng khi có sự trùng khớp trong cả hai bảng.

  • LEFT JOIN - Trả về tất cả các hàng từ bảng bên trái, ngay cả khi không có hàng nào phù hợp trong bảng bên phải.

  • RIGHT JOIN - Trả về tất cả các hàng từ bảng bên phải, ngay cả khi không có hàng nào phù hợp trong bảng bên trái.

  • FULL JOIN - Trả về các hàng khi có một kết quả phù hợp trong một trong các bảng.

  • SELF JOIN - Điều này được sử dụng để nối một bảng với chính nó như thể bảng là hai bảng, tạm thời đổi tên ít nhất một bảng trong câu lệnh MS SQL Server.

  • CARTESIAN JOIN - Trả về tích Descartes của các tập hợp các bản ghi từ hai hoặc nhiều bảng đã nối.