PostgreSQL Tipos de junção: Interna, Externa, Esquerda, Direita
⚡ Resumo Inteligente
PostgreSQL As junções recuperam e combinam linhas de duas ou mais tabelas usando uma chave compartilhada e incluem junções internas, como theta, EQUI e natural, além de junções externas que abrangem resultados à esquerda, à direita e completos.

O que são junções PostgreSQL?
PostgreSQL Junta São utilizadas para recuperar dados de mais de uma tabela. Com os JOINs, é possível combinar as instruções SELECT e JOIN em uma única instrução. Uma condição JOIN é adicionada à instrução e todas as linhas que atendem às condições são retornadas. Os valores de diferentes tabelas são combinados com base em colunas em comum. A coluna em comum geralmente é uma chave primária na primeira tabela e uma chave estrangeira na segunda tabela.
PostgreSQL Tipos de junção
Existem dois tipos de junções em PostgreSQL:
- Junções internas
- Junções Externas
PostgreSQL Junção interna
Existem 3 tipos de junções internas em PostgreSQL:
- Theta junta-se
- Junção natural
- Junte-se à EQUI
União Theta
Uma junção theta permite unir duas tabelas com base na condição representada por theta. As junções Theta podem funcionar com todos os operadores de comparação. Na maioria dos casos, a junção teta é chamada de junção interna.
O theta join é o tipo mais básico de JOIN. Ele retornará todas as linhas das tabelas onde a condição JOIN for satisfeita.
Sintaxe:
SELECT columns FROM table-1 INNER JOIN table-2 ON table-1.column = table-2.column;
Considere as seguintes tabelas do banco de dados Demo:
Livro:
Preço:
Queremos ver o nome de cada livro e o preço correspondente. Podemos executar o seguinte comando:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Isso retornará o seguinte:
Apenas 3 linhas satisfizeram a condição de junção.
Junte-se à EQUI
A junção EQUI nos fornece uma maneira de unir duas tabelas com base no relacionamento chave primária/chave estrangeira. Por exemplo:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
Isso retornará o seguinte:
Os registros foram retornados de ambas as tabelas com base nas colunas comuns, ou seja, a coluna id.
União Natural
Este tipo de junção nos fornece outra maneira de escrever uma junção EQUI. Podemos melhorar nosso exemplo anterior adicionando a palavra-chave NATURAL conforme mostrado abaixo:
SELECT * FROM Book NATURAL JOIN Price;
Isso retornará o seguinte:
Apenas uma coluna de id foi retornada. O NATURAL JOIN conseguiu notar que a coluna id é comum nas duas tabelas. Apenas um foi devolvido.
PostgreSQL Junção Externa
Existem 3 tipos de junções externas em PostgreSQL:
- União Externa Esquerda
- Junção Externa Direita
- Junção Externa Completa
PostgreSQL União Externa Esquerda
O LEFT OUTER JOIN retornará todas as linhas da tabela do lado esquerdo e apenas as linhas da tabela do lado direito onde a condição de junção foi satisfeita.
Sintaxe:
SELECT columns FROM table-1 LEFT OUTER JOIN table-2 ON table-1.column = table-2.column;
Precisamos ver o nome de cada livro e o preço correspondente. Podemos executar o seguinte comando:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
Isso retorna o seguinte:
Todas as 4 linhas da tabela Book foram retornadas. Apenas 3 linhas da tabela Preço atenderam à condição de junção. Portanto, eles foram devolvidos. O último livro não tem valor de preço correspondente.
PostgreSQL Junção Externa Direita
O RIGHT OUTER JOIN retorna todas as linhas da tabela no lado direito e as linhas da tabela no lado esquerdo onde a condição de junção foi satisfeita.
Sintaxe:
SELECT columns FROM table-1 RIGHT OUTER JOIN table-2 ON table-1.column = table-2.column;
Por exemplo:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
Isso retorna o seguinte:
Todas as linhas da tabela Preço foram retornadas. Somente as linhas da tabela Livro que atenderam à condição de junção foram retornadas. A terceira linha não possui valor para nome, pois nenhuma correspondência foi encontrada.
Junção externa completa PostgreSQL
Este tipo de JOIN retornará todas as linhas da tabela no lado esquerdo e todas as linhas da tabela no lado direito com nulos onde a condição de junção não for satisfeita.
Sintaxe:
SELECT columns FROM table-1 FULL OUTER JOIN table-2 ON table-1.column = table-2.column;
Por exemplo:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
Isso retorna o seguinte:
Todas as linhas de todas as tabelas foram retornadas, com valores nulos onde nenhuma correspondência foi encontrada.
Usando pgAdmin
As tarefas acima podem ser realizadas no pgAdmin da seguinte forma. As seções a seguir descrevem cada tipo de junção passo a passo.
Associação interna do pgAdmin
Os passos abaixo mostram como executar cada variante de junção interna no pgAdmin.
Como usar o Theta Join PostgreSQL usando pgAdmin
A seguir estão os passos para usar o Theta Join. PostgreSQL usando pgAdmin:
Etapa 1) Faça login em sua conta pgAdmin
Abra o pgAdmin e faça login usando suas credenciais
Etapa 2) Criar banco de dados de demonstração
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
Etapa 3) Digite a consulta
Digite a consulta abaixo no editor de consultas:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Etapa 4) Execute a consulta
Clique no botão Executar
Deve retornar o seguinte:
Junte-se à EQUI
Passo 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
Passo 3) Digite a consulta no editor de consultas:
SELECT * FROM Book JOIN Price ON Book.id = Price.id;
Passo 4) Clique no botão Executar.
Deve retornar o seguinte:
União Natural
Passo 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
Passo 3) Digite a consulta no editor de consultas:
SELECT * FROM Book NATURAL JOIN Price;
Passo 4) Clique no botão Executar.
Deve retornar o seguinte:
pgAdmin Junção interna simples
Passo 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
Passo 3) Digite a consulta no editor de consultas:
SELECT Book.name, Price.price FROM Book INNER JOIN Price ON Book.id = Price.id;
Passo 4) Clique no botão Executar.
Deve retornar o seguinte:
Associação externa do pgAdmin
Em seguida, execute as três variantes de junção externa no pgAdmin seguindo os passos abaixo.
União Externa Esquerda
Passo 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
Passo 3) Digite a consulta no editor de consultas:
SELECT Book.name, Price.price FROM Book LEFT JOIN Price ON Book.id = Price.id;
Passo 4) Clique no botão Executar.
Deve retornar o seguinte:
Junção Externa Direita
Passo 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
Passo 3) Digite a consulta no editor de consultas:
SELECT Book.name, Price.price FROM Book RIGHT JOIN Price ON Book.id = Price.id;
Passo 4) Clique no botão Executar.
Deve retornar o seguinte:
Junção Externa Completa
Passo 1) Faça login em sua conta pgAdmin.
Passo 2)
- Na barra de navegação à esquerda, clique em Bancos de dados.
- Clique em Demonstração.
Passo 3) Digite a consulta no editor de consultas:
SELECT Book.name, Price.price FROM Book FULL OUTER JOIN Price ON Book.id = Price.id;
Passo 4) Clique no botão Executar.
Deve retornar o seguinte:
Baixe o banco de dados usado neste tutorial





























