377 pessoas já começaram a estudar hoje
377377pessoasjá começaram a estudar hoje
já começaram a estudar hoje

Enquanto você avalia,

377377pessoas já começaram a estudar hoje

Dê o próximo passo e inicie sua carreira

Dê o próximo passo e inicie sua carreira agora mesmo

Comece agora
  • Home

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    CURSOS

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    CURSOS

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    CURSOS

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    CURSOS

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    CURSOS

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    CURSOS

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    CURSOS

    Ver mais cursos de Inovação e Gestão
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    CURSOS

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    CARREIRAS

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    CURSOS

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    CURSOS

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    CURSOS

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    • Plus 2430% OFF
    • Pro 2430% OFF
    • Ultra Lab 2430% OFF

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA
  • Artigos
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Carreiras

    Ver todas
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA
    Entrar Ver Planos
  • Área de Interesse

    Entrar Ver Planos
  • Aulas ao Vivo - Skills & Go

    • Agentic Engineering: orquestre múltiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA
    Entrar Ver Planos
  • Senioridade

    Entrar Ver Planos
  • Eventos Alura

    • IA Conference
    • Alura Signals
    Entrar Ver Planos
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Artigos
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • Plano Pro 24
    • Plano Plus 24
    • Plano Ultra Lab 24
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Dados
    3. JOIN no SQL: o que é, para que serve e tipos de JOINs e como fazer

    JOIN no SQL: o que é, para que serve e tipos de JOINs e como fazer

    5 min5 minutos de leitura

    5 min5 minutos de leitura

    Publicado: 20/09/2021

    Última atualização: 5 de Maio

    1. INNER JOIN
    2. LEFT JOIN
    3. RIGHT JOIN
    4. FULL JOIN
    5. CROSS JOIN
    6. CONCLUSÃO

    No SQL (Structured Query Language) existem várias formas de realizar consultas no banco de dados utilizando desde queries simples a queries mais complexas. 

    Um exemplo comum é a necessidade de realizar consultas em várias tabelas ao mesmo tempo. No banco de dados, existem várias tabelas diferentes onde os dados são armazenados e, muitas vezes, é necessário juntar os dados que estão em várias tabelas para se obter alguma informação muito importante. 

    Diagrama mostrando tipos de JOIN em SQL: INNER, LEFT, RIGHT, FULL e CROSS, todos apontando para “JOIN”. 

    Com esse intuito, foi criada a cláusula JOIN ou junção que é utilizada para realizar a combinação de colunas de uma ou mais tabelas em um única query a partir de uma coluna em comum entre as tabelas. 

    Existem cinco tipos de JOIN no SQL, cada um permitindo diferentes formas de combinar dados. Os principais tipos de JOINs são: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN, e CROSS JOIN. Conhecer os tipos de joins é essencial para extrair informações completas do banco de dados. 

    Neste artigo, vamos abordar como cada um deles funciona. 

    INNER JOIN 

    O `INNER JOIN` é utilizado quando queremos retornar os registros que tenham correspondência nas duas tabelas presentes na junção. Observe que, na imagem a seguir, é utilizado o `INNER JOIN`. Nesse caso apenas os registros que estão na interseção do conjunto A com o conjunto B são retornados: 

    Duas circunferências representando um conjunto A e um conjunto B. A interseção entre os dois conjuntos está pintada de azul 

    Trazendo para o SQL, vamos utilizar o seguinte exemplo: em um banco de dados de uma empresa, existem duas tabelas que se relacionam entre si, sendo elas a tabela de funcionários e a tabela de cargos. A primeira possui os campos código do funcionário, nome e código do cargo: 

    Tabela de funcionários com três colunas. Na coluna código dos funcionários temos os números 1, 2, 3 e 4. Na coluna nome temos os nomes José, Daniella, Ana e Carlos. Na coluna código cargo temos os números 3, 1, 2 e (null) 

    E a segunda possui os campos código do cargo e descrição dos cargos: 

    Tabela de cargos com duas colunas. Na coluna código do cargo temos os números 1, 2, 3 e 4. Na coluna descrição temos vendedor, caixa, gerente e entregador 

    SELECT com INNER JOIN: 

    SELECT <select_list> FROM Tabela A INNER JOIN Tabela B ON A.Key = B.Key 
    SELECT A.nome, A.cod_cargo, B.descrição FROM funcionario A INNER JOIN cargo B  ON A.cod_cargo = B.cod_cargo;
    • Informando no `SELECT` os campos que serão retornados no resultado: 
    SELECT A.nome, A.cod_cargo, B.descrição 

    Realizando a junção entre as tabelas: 

    FROM funcionario A INNER JOIN cargo B 

    Condição que os registros precisam corresponder para serem retornados: 

    ON A.cod_cargo = B.cod_cargo; 

    Resultado 

    Tabela com 3 colunas, sendo resultante da query executada com INNER JOIN. Na coluna nome temos os nomes José, Daniella e Ana. Na coluna código do cargo temos os números 3, 1 e 2. Na coluna descrição temos gerente, vendedor e caixa 

    Foram retornadas todas as pessoas funcionárias, com exceção do funcionário Carlos que não tem um cargo associado a ele e do cargo entregador, pois não está associado a nenhum funcionário. 

    Banner promocional da Alura destacando até 30% de desconto e mais 1 mês grátis para quem quer investir na carreira e acelerar sua evolução profissional. A oferta é por tempo limitado, com matrícula disponível até 24 de agosto e chamada para aproveitar a oportunidade de estudar na Alura.

    LEFT JOIN 

    O `LEFT JOIN` é utilizado quando queremos retornar apenas os registros da tabela da esquerda (tabela que está antes da cláusula LEFT JOIN) e os registros que tenham correspondência na tabela da direita. 

    Observe que, na imagem a seguir, é utilizado o `LEFT JOIN`. Nesse caso, todos os registros do conjunto A e apenas os registros que estão na interseção do conjunto A com o conjunto B seriam retornados: 

    Duas circunferências representando um conjunto A e um conjunto B, onde o conjunto A e a interseção entre os dois conjuntos está pintada de azul 

    SELECT com LEFT JOIN: 

    SELECT <select_list> FROM Tabela A LEFT JOIN Tabela B ON A.Key = B.Key 
    SELECT A.nome, A.cod_cargo, B.descrição FROM funcionario A LEFT JOIN cargo B ON A.cod_cargo = B.cod_cargo;

    Resultado 

    Tabela com 3 colunas, sendo resultante da query executada com LEFT JOIN. Na coluna nome temos os nomes Daniella, Ana, José e Carlos. Na coluna código do cargo temos os números 1, 2, 3 e null. Na coluna descrição temos vendedor, caixa, gerente e null 

    Foram retornadas todas as pessoas funcionárias, tanto as que possuem um cargo associado quanto as que não possuem. 

    RIGHT JOIN 

    "O `RIGHT JOIN` é utilizado quando queremos retornar todos os registros da tabela à direita (a que está após a cláusula RIGHT JOIN), incluindo aqueles que não possuem correspondência na tabela à esquerda."

    Observe que, na imagem a seguir, é utilizado o `RIGHT JOIN`. Nesse caso, todos os registros do conjunto B e apenas os registros que estão na interseção do conjunto A com o conjunto B seriam retornados: 

    Duas circunferências representando um conjunto A e um conjunto B, onde o conjunto B e a interseção entre os dois conjuntos está pintada de azul 

    SELECT com RIGHT JOIN: 

    SELECT <select_list> FROM Tabela A RIGHT JOIN Tabela B ON A.Key = B.Key 
    SELECT A.nome,A.cod_cargo,B.descrição FROM funcionario A RIGHT JOIN cargo B  ON A.cod_cargo = B.cod_cargo;

    Resultado 

    Tabela com 3 colunas, sendo resultante da query executada com RIGHT JOIN. Na coluna nome temos os nomes José, Daniella, Ana e null. Na coluna código do cargo temos os números 3, 1, 2 e null. Na coluna descrição temos gerente, vendedor e caixa 

    Foram retornados todos os cargos, incluindo aqueles que estão associados a alguma pessoa funcionária, e os que não estão associados a  nenhuma. 

    FULL JOIN 

    O `FULL JOIN` é utilizado quando queremos retornar registros que tenham correspondência em qualquer uma das tabelas presentes na junção. Observe que, na imagem a seguir, é utilizado o `FULL JOIN`. Nesse caso, todos os registros do conjunto B e todos os registros do conjunto A seriam retornados: 

    Duas circunferências representando um conjunto A é um conjunto B, onde os dois conjuntos e a interseção entre os dois conjuntos está pintada de azul 

    SELECT com FULL JOIN: 

    SELECT <select_list> FROM Tabela A FULL JOIN Tabela B ON A.Key = B.Key 
    SELECT A.nome, A.cod_cargo, B.descrição FROM funcionario A FULL JOIN cargo B ON A.cod_cargo = B.cod_cargo;

    Resultado 

    Tabela com 3 colunas, sendo resultante da query executada com FULL JOIN. Na coluna nome temos os nomes José, Daniella, Ana, Carlos e null. Na coluna código do cargo temos os números 3, 1, 2, null e null. Na coluna descrição temos gerente, vendedor, caixa, null e entregador. 

    Foram retornadas todasas pessoas funcionárias, mesmo os que não estão associados a um cargo e todos os cargos, mesmo aqueles sem associação. 

    CROSS JOIN 

    O `CROSS  JOIN` é utilizado quando queremos retornar os  registros realizando um cruzamento entre os dados das tabelas presentes na junção. Observe que, na imagem a seguir, é utilizado o `CROSS JOIN`. Nesse caso, todos os registros do conjunto A realizam um cruzamento com todos os registros do conjunto B para serem retornados: 

    Duas circunferências representando um conjunto A e um conjunto B. Em cada conjunto estão os números de 1 a 3. Cada número do conjunto A se liga a um número do conjunto B através de uma linha 

    SELECT com CROSS JOIN: 

    SELECT <select_list> FROM Tabela A CROSS  JOIN Tabela B 
    SELECT A.nome, A.cod_cargo, B.descrição, B.cod_cargo FROM funcionario A CROSS JOIN cargo B;

    Resultado 

    Tabela com 4 colunas, sendo resultante da query executada com CROSS JOIN. Na coluna nome temos os nomes José, Daniella, Ana, Carlos repetidos quatro vezes nas linhas subsequentes. Na coluna código do cargo, que pertence a tabela de funcionários temos a sequência 3, 1, 2 e null repetida quatro vezes nas linhas subsequentes. Na coluna descrição é apresentado 4 vezes o nome vendedor, 4 vezes o nome caixa, 4 vezes o nome gerente e 4 vezes o nome entregador. Na coluna do cargo 1, que pertence a tabela de cargo temos quatro sequências de quatro números repetidos de 1 a 4 

    Foi realizado o cruzamento entre todos os registros da tabela de funcionários com todos os registros da tabela de cargos. 

    CONCLUSÃO 

    Neste artigo podemos ver como os joins são de suma importância para a linguagem SQL. Ao utilizar os JOINS, podemos realizar a combinação de colunas de uma ou mais tabelas para realizar consultas complexas nos bancos de dados de forma simples. 

    Gostou deste artigo e quer conhecer ainda mais sobre banco de dados e SQL? 

    A Trilha Alura de Modelagem de Dados foi feita para você! Acesse a formação e descubra o que mais você pode fazer com banco de dados e SQL. 

    Enquanto você pensa, a próxima geração tech já está evoluindo. Planos com até 30% OFF. Ver planos.
    Banner promocional da Alura destacando até 30% de desconto e mais 1 mês grátis para quem quer investir na carreira e acelerar sua evolução profissional. A oferta é por tempo limitado, com matrícula disponível até 24 de agosto e chamada para aproveitar a oportunidade de estudar na Alura.

    Avalie este artigo

    Foto de Danielle Oliveira

    Autor(a)

    Danielle Oliveira

    Danielle é formada em Sistemas de Informação. Fez parte do Scuba Team. Atualmente é instrutora de Data Science, nas áreas de Banco de dados, Business Intelligence e NoSQL. É apaixonada por livros, música e tecnologia.

    Explore por tópico

    • Mobile
    • Back-end
    • Front-end
    • DevOps
    • UX & Design
    • Dados
    • Gestão & Negócios
    • Inteligência Artificial
    • Cibersegurança
    • Cloud

    Leia também

    • 20/08/2025

      Ciclos em Python: aprendendo a utilizar loops na construção de códigos

      Ler mais
    • 13/08/2024

      Carreira em dados: quais as habilidades necessárias e como está o mercado de trabalho

      Ler mais
    • 01/04/2024

      BigQuery: como acessar o BigQuery pelo Python

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.

    Institucional

    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status
    Institucional
    • Sobre nós
    • Trabalhe Conosco
    • Para Empresas
    • Para Escolas
    • Política de Privacidade
    • Compromisso de Integridade
    • Termos de Uso
    • Canal de Ética
    • Código de Ética
    • Fale Conosco
    • Documentos Institucionais
    • Status

    A Alura

    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes
    A Alura
    • Como Funciona
    • Inteligência Artificial
    • Plataforma
    • Depoimentos
    • Instrutores(as)
    • Dev em <T>
    • Luri, a Inteligência Artificial da Alura
    • IA Conference
    • Cursos Imersivos
    • Perguntas Frequentes

    Conteúdos

    • Alura Cases
    • Imersões
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Conteúdos
    • Alura Cases
    • Imersões
    • Artigos
    • Podcasts
    • Artigos de educação corporativa
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Uma Empresa do GrupoLogo Grupo Alun

    Outras empresas do Grupo Alun

    • FIAP
    • STARTSE
    • PM3
    • LUMINA

    Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

    Redes Sociais & Apps

    instagram
    youtube
    tiktok
    x
    appStore
    googlePlay
    Alura