Pular para o conteúdo principal
Documentos
FunçõesExpressõesKeywordsDeclaraçõesCláusulas

Cláusula INNER JOIN do MySQL

A cláusula `INNER JOIN` no MySQL é usada para recuperar linhas de duas ou mais tabelas com base em uma coluna comum em ambas as tabelas. Ele retorna apenas as linhas que têm valores correspondentes em ambas as tabelas.

Uso

A cláusula `INNER JOIN` é usada quando você precisa selecionar dados de várias tabelas em que há uma correspondência nas colunas especificadas. Normalmente, é usado em comandos `SELECT` para combinar linhas de diferentes tabelas.

sql
SELECT columns
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;

Nessa sintaxe, `INNER JOIN` combina linhas de `table1` e `table2` em que os valores de `column_name` coincidem. Observe que, se não houver linhas correspondentes em nenhuma das tabelas, nenhuma linha será retornada.

Exemplos

1. Inner Join básico

sql
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;

Este exemplo recupera os nomes dos funcionários juntamente com seus respectivos nomes de departamentos, unindo as tabelas `employees` e `departments` com base nas correspondências `department_id` e `id`.

2. Inner Join com condições adicionais

sql
SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.id
WHERE orders.order_date > '2023-01-01';

Essa consulta recupera IDs de pedidos e nomes de clientes para pedidos feitos após 1º de janeiro de 2023, usando uma junção interna entre as tabelas `orders` e `customers`.

3. Inner Join com várias tabelas

sql
SELECT students.name, courses.course_name, grades.grade
FROM students
INNER JOIN grades ON students.id = grades.student_id
INNER JOIN courses ON grades.course_id = courses.id;

Este exemplo une três tabelas: `students`, `grades` e `courses`, para exibir o nome de cada aluno, os cursos em que estão matriculados e suas notas.

Dicas e práticas recomendadas

  • Use referências explícitas a colunas. Sempre use o nome da tabela ou o alias com os nomes das colunas para evitar ambiguidade.
  • Garantir colunas de junção indexadas. Indexar colunas de junção para melhorar o desempenho da consulta.
  • Filtrar com antecedência. Aplique cláusulas `WHERE` antecipadamente para minimizar os dados antes da união.
  • Use aliases de tabela. Use aliases de tabela para simplificar as consultas e melhorar a legibilidade.
  • Resultados dos limites. Aplique `LIMIT` para recuperar apenas os dados necessários, reduzindo a carga do banco de dados.

Observação

O `INNER JOIN` é o tipo padrão de união se nenhum tipo específico for indicado quando você usar a palavra-chave `JOIN`.

Aprimoramento de SQL para iniciantes

Adquira as habilidades de SQL para interagir com seus dados e consultá-los.
Comece a aprender de graça