|
Uma cláusula JOIN é usada para combinar linhas de duas ou mais tabelas, com base em uma coluna relacionada entre elas.
Uma junção é um mecanismo usado para associar tabelas em uma instrução SELECT.
Para criar uma junção, você deve especificar todas as tabelas a serem incluídas e como elas se relacionam entre si.
Vejamos os dados da tabela "PEDIDOS" abaixo:
| NROPEDIDO | NROCLIENTE | DATAPEDIDO |
| 1001 | 10 | 2020-09-08 |
| 1002 | 99 | 2020-09-01 |
| 1003 | 17 | 2020-08-25 |
| 1004 | 76 | 2020-09-19 |
Vejamos os dados da tabela "CLIENTES" abaixo:
| NROCLIENTE | NOMECLIENTE | PAIS |
| 76 | Jack | America |
| 17 | Jancy | Germany |
| 10 | Robert | India |
| 99 | Brian | China |
Observe que a coluna "NROCLIENTE" na tabela "PEDIDOS" se refere ao "NROCLIENTE" na tabela "CLIENTES".
A relação entre as duas tabelas acima é a coluna "NROCLIENTE".
Vamos ver como criar uma instrução SQL que seleciona registros que possuem valores correspondentes em ambas as tabelas.
Exemplo:
SELECT PEDIDOS.NROPEDIDO
, CLIENTES.NOMECLIENTE
, PEDIDOS.DATAPEDIDO
FROM PEDIDOS
INNER JOIN CLIENTES ON PEDIDOS.NROCLIENTE = CLIENTES.NROCLIENTE;
|
Resultado:
| NROPEDIDO | NOMECLIENTE | DATAPEDIDO |
| 1001 | Robert | 2020-09-08 |
| 1002 | Brian | 2020-09-01 |
| 1003 | Jancy | 2020-08-25 |
| 1004 | Jack | 2020-09-19 |
Explicação:
A instrução SELECT começa da mesma maneira que todas as instruções que você examinou até agora, especificando as colunas a serem recuperadas.
A grande diferença aqui é que duas das colunas especificadas (NROPEDIDO e DATAPEDIDO) estão em uma tabela, enquanto a outra (NOMECLIENTE) está em outra tabela.
Ao contrário de todas as instruções SELECT anteriores, esta possui duas tabelas listadas na cláusula FROM, PEDIDOS e CLIENTES.
Você deve usar o nome de coluna totalmente qualificado (tabela e coluna separadas por um ponto) sempre que houver uma possível ambigüidade sobre a qual coluna você
está se referindo.
Neste caso, você especifica PEDIDOS.NROPEDIDO, CLIENTES.NOMECLIENTE e PEDIDOS.DATAPEDIDO.
Tipos de junções (Joins):
Existem dois tipos de junções:
Veja também:
|