T-SQL - объединение таблиц

Сервер MS SQL JoinsПредложение используется для объединения записей из двух или более таблиц в базе данных. JOIN - это средство для объединения полей из двух таблиц с использованием значений, общих для каждой из них.

Рассмотрим следующие две таблицы: (a) Таблица CUSTOMERS выглядит следующим образом:

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

(б) Другая таблица - ЗАКАЗЫ следующим образом -

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

Давайте объединим эти две таблицы в нашем операторе SELECT следующим образом:

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

Вышеупомянутая команда выдаст следующий результат.

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

Примечательно, что соединение выполняется в предложении WHERE. Для объединения таблиц можно использовать несколько операторов, например =, <,>, <>, <=,> =,! =, BETWEEN, LIKE и NOT; все они могут использоваться для объединения таблиц. Однако наиболее распространенным оператором является символ равенства.

Типы соединения MS SQL Server -

В MS SQL Server доступны различные типы объединений -

  • INNER JOIN - Возвращает строки при совпадении в обеих таблицах.

  • LEFT JOIN - Возвращает все строки из левой таблицы, даже если в правой таблице нет совпадений.

  • RIGHT JOIN - Возвращает все строки из правой таблицы, даже если в левой таблице нет совпадений.

  • FULL JOIN - Возвращает строки, когда есть совпадение в одной из таблиц.

  • SELF JOIN - Это используется для присоединения таблицы к самой себе, как если бы таблица была двумя таблицами, временно переименовывая по крайней мере одну таблицу в операторе MS SQL Server.

  • CARTESIAN JOIN - Возвращает декартово произведение наборов записей из двух или более объединенных таблиц.