Цей оператор використовується для отримання полів із кількох таблиць. Для цього нам потрібно використовувати запит на об’єднання, щоб отримати дані з кількох таблиць.
Давайте розглянемо приклад вибору з кількох таблиць:
SELECT orders.order_id, suppliers.name FROM suppliers INNER JOIN orders ON suppliers.supplier_id = orders.supplier_id ORDER BY order_id;
Візьмемо три таблиці, дві таблиці клієнтів з іменами customer1 і customer2, а третя таблиця — таблиця продуктів.
Таблиця клієнта1
| Ідентифікатор клієнта | Ім'я1 |
|---|---|
| 1 | Джек |
| 2 | Джилл |
Таблиця клієнта2
| Ідентифікатор клієнта | Ім'я2 |
|---|---|
| 1 | Піщаний |
| 2 | Венера |
Таблиця товарів
| P_id | Ідентифікатор клієнта | P_name |
|---|---|---|
| 1 | 1 | Ноутбук |
| 2 | 2 | Телефон |
| 3 | P1 | Перо |
| 4 | P2 | Ноутбук |
Приклад синтаксису для вибору з кількох таблиць:
SELECT p. p_id, p.cus_id, p.p_name, c1.name1, c2.name2 FROM product AS p LEFT JOIN customer1 AS c1 ON p.cus_id=c1.cus_id LEFT JOIN customer2 AS c2 ON p.cus_id = c2.cus_id
| P_id | Ідентифікатор клієнта | P_name | P_name | P_name |
|---|---|---|---|---|
| 1 | 1 | Ноутбук | Джек | НУЛЬ |
| 2 | 2 | Телефон | Джилл | НУЛЬ |
| 3 | P1 | Перо | НУЛЬ | Піщаний |
| 4 | P2 | Ноутбук | НУЛЬ | Венера |