Tabelas em um banco de dados geralmente estão relacionadas entre sí por meio de chaves.
Uma chave primária é uma coluna (ou uma combinação de colunas) com um valor único para cada linha. Cada valor de chave primária deve ser único na tabela. O propósito é juntar dados entre tabelas sem repetir todos os dados em toda tabela.
Veja a tabela Pessoas:
| id | sobrenome | primeiro_nome | endereco | cidade |
|---|---|---|---|---|
| 1 | Hansen | Ola | Timoteivn 10 | Sandnes |
| 2 | Svendson | Tove | Borgvn 23 | Sandnes |
| 3 | Pettersen | Kari | Storgt 20 | Stavanger |
Observe que a coluna 'id' é a chave primária da tabela Pessoas. Isto significa que não pode haver duas linhas com o mesmo valor de 'id'. A coluna 'id' distingue duas pessoas se elas têm o mesmo nome.
Agora nos temos a tabela Pedidos:
| id | numero | pessoa_id |
|---|---|---|
| 1 | 77895 | 3 |
| 2 | 44678 | 3 |
| 3 | 22456 | 1 |
| 4 | 24562 | 1 |
| 5 | 34764 | 15 |
Perceba que a coluna 'id' é a chave primária na tabela Pedidos e que a coluna 'pessoa_id' refere-se às pessoas na tabela Pessoas sem usar os seus nomes. O relacionamento entre as tabelas Pessoas e Pedidos se dá pela coluna 'pessoa_id' na tabela de Pedidos.
Diferentes tipos de JOINS
Antes de continuar com os exemplos vamos listar os tipos de JOIN que podem ser usados e as diferenças entre eles.
- INNER JOIN: Retorna uma linha quando o registro existe nas duas tabelas.
- LEFT JOIN: Retorna todas as linhas da tabela da esquerda mesmo que o registro não exista na da direita.
- RIGHT JOIN: Retorna todas as linhas da tabela da direita, mesmo que o registronão exista na da esquerda.
- FULL JOIN: Retorna todas as linhas mesmo que o registro não exista em uma das tabelas.
Nenhum comentário:
Postar um comentário