Об'єднання рядків оператором JOIN в SQL-запиті

Матеріал представлений на сторінці взятий з ресурсу http://www.w3schools.com/sql/


Об'єднання рядків оператором JOIN в SQL-запиті основано на загальних властивостях рядків.

Найбільш поширений спосіб об'єднання: SQL INNER JOIN (просто об'єднання).

Вираз SQL INNER JOIN повертає всі рядки з різних таблиць де зустрічається умова JOIN.

Розглянемо слідуючі таблиці,- Таблиця Замовлень.

OrderIDCustomerIDOrderDate
1030821996-09-18
10309371996-09-19
10310771996-09-20

Таблиця Споживачів

IDCustomerNameContactNameAddress
1Alfreds FutterkisteMaria AndersObere Str. 57
2Ana TrujilloAna TrujilloConstitucion 2222
3Antonio MorenoAntonio MorenoMataderos 2312
4Around the HornThomas Hardy120 Hanover Sq.
5Berglunds SnabbkopChristina BerglundBerguvsvagen 8


Зауважте, що колонка "CustomerID" в таблиці "Orders" посилається на таблицю "Customers", тобто загальною для двух таблиць буде колонка "CustomerID".
і якщо ми застосуємо SQL-вираз:

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;

Перевір себе тут

то отримаємо щось на зразок:

OrderIDCustomerNameOrderDate
10308Ana Trujillo Emparedados y helados9/18/1996
10365Antonio Moreno Taqueria11/27/1996
10383Around the Horn12/16/1996
10355Around the Horn11/15/1996
10278Berglunds snabbkop8/12/1996

Різні типи оператора JOIN в SQL

Перед тим, як переглядати зразки виконання запитів, висвітлимо список JOIN:
- INNER JOIN - повертає всі рядки, що найменше мають співпадання в двух таблицях.
- LEFT JOIN - повертає всі рядки, з лівої таблиці і відповідних рядків правої таблиці.
- RIGHT JOIN - повертає всі рядки, з правої таблиці і відповідних рядків лівої таблиці.
- FULL JOIN - повертає всі рядки, що співпадають хоча б в одній з таблиць.