◀ MAPA DE QUESTS
◀259/555
QUEST #259 · RELACIONAMENTOS
Aliança JOIN
O quadro de missões mostra apenas o número do herói responsável. O capitão quer ler o nome de cada herói ao lado do título da missão que ele assumiu.
LV.2+80 XP
📖 CONCEITO
JOIN (ou INNER JOIN) combina linhas de duas tabelas segundo a condição do ON, normalmente chave estrangeira = chave primária. Só aparecem as linhas que têm par nas duas tabelas. Apelidos curtos (herois h) evitam ambiguidade quando as duas tabelas têm colunas com o mesmo nome, como id.
EXEMPLO DE USO
SELECT h.nome, g.nome AS guilda FROM herois h JOIN guildas g ON g.id = h.guilda_id;
🗄️ SCHEMA
Tabela `herois` (id SERIAL PRIMARY KEY, nome TEXT, classe TEXT, nivel INT, hp INT, ouro INT, guilda_id INT — pode ser NULL)
Tabela `missoes` (id SERIAL PRIMARY KEY, titulo TEXT, heroi_id INT — id do herói, recompensa INT, status TEXT — 'concluida' | 'pendente' | 'falhou', concluida_em TIMESTAMP — NULL se não concluída)🎯 DESAFIO
Liste `h.nome` e `m.titulo` juntando `herois h` com `missoes m`, ligando a coluna `m.heroi_id` ao id do herói.