SQL Пропозиція JOIN
SQL JOIN
Пропозиція JOIN
використовується для об’єднання рядків із двох або більше таблиць на основі зв’язаного стовпця між ними.
Подивимося на вибір із таблиці "Orders" ("Замовлення"):
OrderID | CustomerID | OrderDate |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
Потім перегляньте вибір із таблиці "Customers" ("Клієнти"):
CustomerID | CustomerName | ContactName | Country |
---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mexico |
Зауважте, що стовпець "CustomerID" у таблиці "Orders" відноситься до "CustomerID" у таблиці "Customers". Зв’язок між двома таблицями вище – це стовпець "CustomerID".
Тоді ми можемо створити таку SQL-інструкцію (що містить INNER JOIN
), яка вибирає записи, що мають відповідні значення в обох таблицях:
Приклад
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
Спрорбуйте самі »
і це дасть щось подібне:
OrderID | CustomerName | OrderDate |
---|---|---|
10308 | Ana Trujillo Emparedados y helados | 9/18/1996 |
10365 | Antonio Moreno Taquería | 11/27/1996 |
10383 | Around the Horn | 12/16/1996 |
10355 | Around the Horn | 11/15/1996 |
10278 | Berglunds snabbköp | 8/12/1996 |
Різні типи SQL JOIN
Ось різні типи JOIN у SQL:
(INNER) JOIN
: Повертає записи, які мають відповідні значення в обох таблицяхLEFT (OUTER) JOIN
: Повертає всі записи з лівої таблиці та відповідні записи з правої таблиціRIGHT (OUTER) JOIN
: Повертає всі записи з правої таблиці та відповідні записи з лівої таблиціFULL (OUTER) JOIN
: Повертає всі записи, якщо є відповідність у лівій або правій таблиці