Os prós e contras da INNER

Junção de dados no SQL

Maham Faisal Khan

Senior Content Developer, DataCamp

Os prós e contras de INNER JOINs

Diagrama mostrando duas tabelas: a tabela da esquerda e a tabela da direita. Os valores de id correspondentes na tabela da esquerda e da direita são exibidos usando as mesmas cores.

Junção de dados no SQL

Os prós e contras de INNER JOINs

  • INNER JOIN procura registros em ambas as tabelas que correspondam a um determinado campo
Diagrama de uma INNER JOIN com base no campo id

Diagrama mostrando duas tabelas: left_table e right_table. Os valores de id correspondentes na tabela da esquerda e da direita são exibidos usando as mesmas cores e estão ligados com setas.

Junção de dados no SQL

Os prós e contras de INNER JOINs

Diagrama de uma INNER JOIN com base (ON) no campo id

Diagrama mostrando duas tabelas: left_table e right_table. Os valores de id correspondentes na tabela da esquerda e da direita são exibidos usando as mesmas cores e ligados com setas. Os registros que não são de interesse para a  estão em cinza.

Junção de dados no SQL

Os prós e contras de INNER JOINs

Diagrama de uma INNER JOIN com base (ON) no campo id

Diagrama mostrando duas tabelas: left_table e right_table. O resultado da junção das duas consultas é mostrado à direita, retornando apenas os registros com coluna id correspondente nas duas tabelas.

Junção de dados no SQL

Esquema do banco de dados leadership

Líderes mundiais até 2024: Esquema https://assets.datacamp.com/production/repositories/6053/datasets/7b35a291eb1a24bc28e1db4106f5290b5f434925/schema.png mostrando três tabelas no banco de dados leadership: presidents, prime_ministers e prime_minister_terms. presidents e prime_minister podem ser unidos com base no campo country, enquanto prime_ministers e prime_minister_terms podem ser unidos com base no campo prime_minister.

Junção de dados no SQL

Na tabela de presidentes

SELECT * 
FROM presidents;
| country  | continent     | president               |
|----------|---------------|-------------------------|
| Egypt    | Africa        | Abdel Fattah el-Sisi    |
| Portugal | Europe        | Marcelo Rebelo de Sousa | 
| USA      | North America | Joe Biden               |
| Uruguay  | South America | Luis Lacalle Pou        |
| Pakistan | Asia          | Asif Ali Zardari        |
| Chile    | South America | Gabriel Boric           |
| India    | Asia          | Droupadi Murmu          |
Junção de dados no SQL

Conheça os primeiros-ministros

Tabela prime_ministers

Tabela prime_ministers do banco de dados leadership, contendo três colunas: country, continent e prime_minister.

Junção de dados no SQL

Primeiros-ministros, conheçam os presidentes

Tabela presidents

Duas tabelas mostradas lado a lado: presidents e prime_minister. As colunas correspondentes são coloridas nas duas tabelas.

Tabela prime_ministers

Duas tabelas mostradas lado a lado: presidents e prime_minister. As colunas correspondentes são coloridas nas duas tabelas.

Junção de dados no SQL

Nossa primeira INNER

--Inner join of presidents and prime_ministers, joining on country

SELECT prime_ministers.country, prime_ministers.continent, prime_minister, president
FROM presidents
INNER JOIN prime_ministers
ON presidents.country = prime_ministers.country;

Observação: Você deve usar o formato table.column_name ao selecionar colunas que existem em ambas as tabelas para evitar um erro de SQL.

| country        | continent | prime_minister   | president               |
|----------------|-----------|------------------|-------------------------|
| Egypt          | Africa    | Mostafa Madbouly | Abdel Fattah el-Sisi    |
| Portugal       | Europe    | Luís Montenegro  | Marcelo Rebelo de Sousa |
| Pakistan       | Asia      | Shehbaz Sharif   | Asif Ali Zardari        |
| India          | Asia      | Narendra Modi    | Ram Nath Kovind         |
Junção de dados no SQL

Nomes alternativos para tabelas

--Inner join of presidents and prime_ministers, joining on country

SELECT p2.country, p2.continent, prime_minister, president
FROM presidents AS p1 INNER JOIN prime_ministers AS p2
ON p1.country = p2.country;
| country        | continent | prime_minister   | president               |
|----------------|-----------|------------------|-------------------------|
| Egypt          | Africa    | Mostafa Madbouly | Abdel Fattah el-Sisi    |
| Portugal       | Europe    | Luís Montenegro  | Marcelo Rebelo de Sousa |
| Pakistan       | Asia      | Shehbaz Sharif   | Asif Ali Zardari        |
| India          | Asia      | Narendra Modi    | Ram Nath Kovind         |

Os aliases podem ser usados na sintaxe table.column_name nas cláusulas SELECT e ON.

Junção de dados no SQL

Como utilizar USING

--Inner join of presidents and prime_ministers, joining on country
SELECT p2.country, p2.continent, prime_minister, president
FROM presidents AS p1
INNER JOIN prime_ministers AS p2
USING(country);
| country        | continent | prime_minister   | president               |
|----------------|-----------|------------------|-------------------------|
| Egypt          | Africa    | Mostafa Madbouly | Abdel Fattah el-Sisi    |
| Portugal       | Europe    | Luís Montenegro  | Marcelo Rebelo de Sousa |
| Pakistan       | Asia      | Shehbaz Sharif   | Asif Ali Zardari        |
| India          | Asia      | Narendra Modi    | Ram Nath Kovind         |
Junção de dados no SQL

Vamos praticar!

Junção de dados no SQL

Preparing Video For Download...