Esta instrução é usada para recuperar campos de várias tabelas. Para fazer isso, precisamos usar a consulta join para obter dados de várias tabelas.
Vejamos o exemplo da seleção de múltiplas tabelas:
SELECT orders.order_id, suppliers.name FROM suppliers INNER JOIN orders ON suppliers.supplier_id = orders.supplier_id ORDER BY order_id;
Tomemos três tabelas, duas tabelas de clientes denominadas cliente1 e cliente2 e a terceira tabela é a tabela de produtos.
Tabela Cliente1
Cus_id | Nome1 |
---|---|
1 | Jack |
2 | Jill |
Tabela Cliente2
Cus_id | Nome2 |
---|---|
1 | Sandy |
2 | Vênus |
Tabela de produtos
P_id | Cus_id | P_nome |
---|---|---|
1 | 1 | Computador portátil |
2 | 2 | Telefone |
3 | P1 | Caneta |
4 | P2 | Caderno |
Sintaxe de exemplo para selecionar em várias tabelas:
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 | Cus_id | P_nome | P_nome | P_nome |
---|---|---|---|---|
1 | 1 | Computador portátil | Jack | NULO |
2 | 2 | Telefone | Jill | NULO |
3 | P1 | Caneta | NULO | Sandy |
4 | P2 | Caderno | NULO | Vênus |