JOINs combinam dados de múltiplas tabelas. INNER, LEFT, RIGHT, FULL - cada um para cenário específico. Entenda com exemplos visuais.
Carregando
JOINs combinam dados de múltiplas tabelas. INNER, LEFT, RIGHT, FULL - cada um para cenário específico. Entenda com exemplos visuais.
JOINs combinam dados de múltiplas tabelas. INNER, LEFT, RIGHT, FULL - cada um para cenário específico. Entenda com exemplos visuais.
Retorna rows que têm match nas duas tabelas. Interseção. Mais comum. SELECT * FROM orders INNER JOIN users ON orders.user_id = users.id.
Todos da tabela esquerda + matches da direita. NULLs onde sem match. SELECT * FROM users LEFT JOIN orders ON users.id = orders.user_id.
Todos da tabela direita + matches da esquerda. Raramente usado (inverter LEFT é mais claro).
Todos de ambas tabelas. NULLs onde sem match. União. Raro em apps.
• Índices em join columns
• Especifique colunas ao invés de SELECT *
• Use aliases para claridade
• LEFT JOIN quando precisar de NULLs
• EXPLAIN para verificar performance
• Evite joins desnecessários
• JOIN sem ON clause (cartesian product)
• Sem índices em foreign keys
• SELECT * com múltiplos joins (muita data)
• RIGHT JOIN (confuso, use LEFT)
• Joins desnecessários
Quando usar cada um