Ta instrukcja służy do pobierania pól z wielu tabel. Aby to zrobić, musimy użyć zapytania łączącego, aby pobrać dane z wielu tabel.
Zobaczmy przykład wyboru z wielu tabel:
SELECT orders.order_id, suppliers.name FROM suppliers INNER JOIN orders ON suppliers.supplier_id = orders.supplier_id ORDER BY order_id;
Weźmy trzy tabele, dwie tabele klientów o nazwach klient1 i klient2, a trzecia tabela to tabela produktów.
Tabela klienta 1
| Identyfikator klienta | Imię 1 |
|---|---|
| 1 | Jacek |
| 2 | Jill |
Tabela klienta 2
| Identyfikator klienta | Imię 2 |
|---|---|
| 1 | Piaszczysty |
| 2 | Wenus |
Tabela produktów
| P_id | Identyfikator klienta | Imię P |
|---|---|---|
| 1 | 1 | Laptop |
| 2 | 2 | Telefon |
| 3 | P1 | Długopis |
| 4 | P2 | Zeszyt |
Przykładowa składnia do wyboru z wielu tabel:
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 | Identyfikator klienta | Imię P | Imię P | Imię P |
|---|---|---|---|---|
| 1 | 1 | Laptop | Jacek | ZERO |
| 2 | 2 | Telefon | Jill | ZERO |
| 3 | P1 | Długopis | ZERO | Piaszczysty |
| 4 | P2 | Zeszyt | ZERO | Wenus |