Código SQL copiado para a área de transferência
Aprenda os fundamentos de JOINs em SQL com nossa lição fácil de seguir. Entenda como combinar dados de várias tabelas em um banco de dados relacional com exemplos práticos. Este tutorial aborda os conceitos centrais da cláusula JOIN, ajudando você a escrever consultas SQL poderosas. Perfeito para iniciantes começando sua jornada com SQL. Gemini 2.5 Pro • 1x
RU EN

Lição 5.1: Fundamentos de JOINs em SQL

Em bancos de dados relacionais, a informação é armazenada como um conjunto de tabelas relacionadas. Para extrair dados significativos delas, você precisa saber como uni-las. A operação JOIN em SQL é usada para esse propósito. Ela permite combinar linhas de duas ou mais tabelas com base em uma coluna relacionada.

Esta lição estabelece a base para entender o JOIN como um conceito-chave para trabalhar com dados relacionais.

O Conceito Central de um JOIN

Um JOIN é um mecanismo que permite combinar linhas de diferentes tabelas em um único conjunto de resultados. A união é realizada com base em uma condição que, na maioria das vezes, compara valores em colunas-chave.

Imagine duas tabelas: customer (cliente) e payment (pagamento). A tabela payment tem uma coluna customer_id que indica qual cliente fez o pagamento. Um JOIN permite "colar" as linhas dessas duas tabelas para que, para cada pagamento, você possa ver o nome do cliente, e não apenas seu ID.

Como funciona:

  1. Você especifica as duas tabelas que deseja unir.
  2. Você define a condição de união na cláusula ON, por exemplo, customer.customer_id = payment.customer_id.
  3. O banco de dados percorre as linhas, encontra os pares correspondentes e forma novas linhas combinadas a partir deles.

Visualização:

  Table A (customer)      Table B (payment)
  +----+-------+            +----+----------+
  | id | name  |            | id | amount   |
  +----+-------+            +----+----------+
  | 1  | Ivan  | <-----\    | 1  | 100.00   |
  | 2  | Maria |       \--->| 1  | 50.00    |
  | 3  | Petr  |            | 3  | 200.00   |
  +----+-------+            +----+----------+

As setas mostram como as linhas da tabela payment encontram seu cliente correspondente na tabela customer com base no id correspondente.

Aplicação Prática

Vamos ver como isso se parece em uma consulta SQL real usando o banco de dados Sakila.

  1. Obtendo uma lista de clientes e seus pagamentos: Esta consulta une as tabelas customer e payment para mostrar o nome e o sobrenome do cliente ao lado de cada pagamento.

    SELECT
        c.first_name,
        c.last_name,
        p.amount,
        p.payment_date
    FROM
        customer AS c
    JOIN
        payment AS p ON c.customer_id = p.customer_id;
    
    • JOIN payment AS p especifica que estamos unindo a tabela payment.
    • ON c.customer_id = p.customer_id é a condição que define como as linhas estão relacionadas.
    • c e p são aliases (apelidos), que tornam a consulta mais curta e legível.
  2. Obtendo uma lista de filmes e seu idioma: Vamos unir as tabelas film e language para mostrar o título de cada filme e o idioma em que ele está.

    SELECT
        f.title,
        l.name AS language
    FROM
        film AS f
    JOIN
        language AS l ON f.language_id = l.language_id;
    

    Aqui, a relação é estabelecida através da chave language_id.

Principais Conclusões Desta Lição

  • JOIN é uma operação fundamental em SQL para trabalhar com dados relacionais, permitindo combinar tabelas.
  • A união é baseada em uma condição especificada na cláusula ON, que define como as linhas estão relacionadas.
  • Usar aliases para tabelas (customer AS c) é uma boa prática que melhora a legibilidade da consulta.
  • JOIN não modifica os dados originais; ele apenas cria um conjunto de resultados temporário de linhas.

Nas próximas lições, exploraremos os diferentes tipos de joins (INNER JOIN, LEFT JOIN, RIGHT JOIN) em detalhes e veremos como eles afetam o resultado final.