T-SQL - Joindre des tables

Le serveur MS SQL JoinsLa clause est utilisée pour combiner les enregistrements de deux ou plusieurs tables dans une base de données. Un JOIN est un moyen de combiner des champs de deux tables en utilisant des valeurs communes à chacune.

Considérez les deux tableaux suivants, (a) Le tableau CUSTOMERS est le suivant -

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 autre tableau est ORDRES comme suit -

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

Joignons ces deux tables dans notre instruction SELECT comme suit -

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

La commande ci-dessus produira la sortie suivante.

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

Il est à noter que la jointure est effectuée dans la clause WHERE. Plusieurs opérateurs peuvent être utilisés pour joindre des tables, tels que =, <,>, <>, <=,> =,! =, BETWEEN, LIKE et NOT; ils peuvent tous être utilisés pour joindre des tables. Cependant, l'opérateur le plus courant est le symbole égal.

Types de jointure MS SQL Server -

Il existe différents types de jointures disponibles dans MS SQL Server -

  • INNER JOIN - Renvoie des lignes lorsqu'il y a une correspondance dans les deux tables.

  • LEFT JOIN - Renvoie toutes les lignes de la table de gauche, même s'il n'y a pas de correspondance dans la table de droite.

  • RIGHT JOIN - Renvoie toutes les lignes de la table de droite, même s'il n'y a aucune correspondance dans la table de gauche.

  • FULL JOIN - Renvoie des lignes lorsqu'il y a une correspondance dans l'une des tables.

  • SELF JOIN - Ceci est utilisé pour joindre une table à elle-même comme si la table était deux tables, en renommant temporairement au moins une table dans l'instruction MS SQL Server.

  • CARTESIAN JOIN - Renvoie le produit cartésien des ensembles d'enregistrements des deux tables jointes ou plus.