T-SQL - Unione di tabelle

Il MS SQL Server Joinsviene utilizzata per combinare i record di due o più tabelle in un database. Un JOIN è un mezzo per combinare i campi di due tabelle utilizzando valori comuni a ciascuna.

Considera le seguenti due tabelle, (a) la tabella CLIENTI è la seguente:

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) Un'altra tabella è ORDINI come segue:

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

Uniamo queste due tabelle nella nostra istruzione SELECT come segue:

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

Il comando precedente produrrà il seguente output.

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

È evidente che il join viene eseguito nella clausola WHERE. Diversi operatori possono essere utilizzati per unire tabelle, come =, <,>, <>, <=,> =,! =, BETWEEN, LIKE e NOT; possono essere utilizzati tutti per unire le tabelle. Tuttavia, l'operatore più comune è il simbolo di uguale.

Tipi di join di MS SQL Server -

Sono disponibili diversi tipi di join in MS SQL Server:

  • INNER JOIN - Restituisce righe quando c'è una corrispondenza in entrambe le tabelle.

  • LEFT JOIN - Restituisce tutte le righe della tabella di sinistra, anche se non ci sono corrispondenze nella tabella di destra.

  • RIGHT JOIN - Restituisce tutte le righe della tabella di destra, anche se non ci sono corrispondenze nella tabella di sinistra.

  • FULL JOIN - Restituisce righe quando c'è una corrispondenza in una delle tabelle.

  • SELF JOIN - Viene utilizzato per unire una tabella a se stessa come se la tabella fosse due tabelle, rinominando temporaneamente almeno una tabella nell'istruzione MS SQL Server.

  • CARTESIAN JOIN - Restituisce il prodotto cartesiano dei set di record da due o più tabelle unite.