T-SQL - Juntando Tabelas

O MS SQL Server Joinscláusula é usada para combinar registros de duas ou mais tabelas em um banco de dados. Um JOIN é um meio de combinar campos de duas tabelas usando valores comuns a cada uma.

Considere as duas tabelas a seguir, (a) A tabela CLIENTES é a seguinte -

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) Outra tabela é ORDERS da seguinte forma -

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

Vamos juntar essas duas tabelas em nossa instrução SELECT da seguinte forma -

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

O comando acima produzirá a seguinte saída.

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

É perceptível que a junção é realizada na cláusula WHERE. Vários operadores podem ser usados ​​para unir tabelas, como =, <,>, <>, <=,> =,! =, BETWEEN, LIKE e NOT; todos eles podem ser usados ​​para unir tabelas. No entanto, o operador mais comum é o símbolo de igual.

Tipos de junção do MS SQL Server -

Existem diferentes tipos de junções disponíveis no MS SQL Server -

  • INNER JOIN - Retorna linhas quando há uma correspondência em ambas as tabelas.

  • LEFT JOIN - Retorna todas as linhas da tabela da esquerda, mesmo se não houver correspondências na tabela da direita.

  • RIGHT JOIN - Retorna todas as linhas da tabela da direita, mesmo se não houver correspondências na tabela da esquerda.

  • FULL JOIN - Retorna linhas quando há uma correspondência em uma das tabelas.

  • SELF JOIN - É usado para unir uma tabela a si mesma como se a tabela fosse duas tabelas, renomeando temporariamente pelo menos uma tabela na instrução do MS SQL Server.

  • CARTESIAN JOIN - Retorna o produto cartesiano dos conjuntos de registros de duas ou mais tabelas unidas.