Sobes.tech
Junior

Como funciona o Join em SQL?

sobes.tech IA

Resposta da IA

JOIN em SQL combina linhas de duas ou mais tabelas com base em uma coluna relacionada entre elas. Existem vários tipos de JOIN:

  • INNER JOIN: Retorna linhas onde há correspondências de valores em ambas as tabelas.
  • LEFT (OUTER) JOIN: Retorna todas as linhas da tabela da esquerda e as linhas correspondentes da direita. Se não houver correspondência na tabela da direita, valores NULL são retornados para as colunas da tabela da direita.
  • RIGHT (OUTER) JOIN: Retorna todas as linhas da tabela da direita e as linhas correspondentes da esquerda. Se não houver correspondência na tabela da esquerda, valores NULL são retornados para as colunas da tabela da esquerda.
  • FULL (OUTER) JOIN: Retorna todas as linhas de ambas as tabelas. Se não houver correspondência, valores NULL são retornados para as colunas correspondentes.
  • CROSS JOIN: Retorna o produto cartesiano de duas tabelas (cada linha da primeira tabela combina-se com cada linha da segunda).

A sintaxe geralmente é assim:

SELECT coluna1, coluna2...
FROM tabela1
JOIN tabela2 ON tabela1.coluna_comum = tabela2.coluna_comum;

Exemplo de INNER JOIN:

SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;

Considere as tabelas customers e orders:

customers

customer_id customer_name
1 Alice
2 Bob
3 Charlie

orders

order_id customer_id amount
101 1 100
102 2 150
103 1 200
104 4 50

O resultado do INNER JOIN será:

order_id customer_name
101 Alice
102 Bob
103 Alice

O resultado do LEFT JOIN (orders LEFT JOIN customers):

order_id customer_id amount customer_name
101 1 100 Alice
102 2 150 Bob
103 1 200 Alice
104 4 50 NULL