Se fizermos um INNER JOIN, pegamos somente as crianças que têm brinquedos. Se uma criança não tiver brinquedos, ela não aparece na lista!
Exemplo:
Temos duas tabelas no banco de dados:
-- Tabela de crianças
CREATE TABLE Criancas (
id INT PRIMARY KEY,
nome VARCHAR(50)
);
-- Tabela de brinquedos
CREATE TABLE Brinquedos (
id INT PRIMARY KEY,
nome_brinquedo VARCHAR(50),
id_crianca INT
);
inserir os dados:
-- Crianças
INSERT INTO Criancas (id, nome) VALUES
(1, 'João'),
(2, 'Maria'),
(3, 'Pedro'); -- Pedro não tem brinquedo
-- Brinquedos
INSERT INTO Brinquedos (id, nome_brinquedo, id_crianca) VALUES
(1, 'Carrinho', 1), -- João tem Carrinho
(2, 'Boneca', 2), -- Maria tem Boneca
(3, 'Bola', NULL); -- Bola sem dono
Usando o INNER JOIN:
SELECT Criancas.nome, Brinquedos.nome_brinquedo
FROM Criancas
INNER JOIN Brinquedos ON Criancas.id = Brinquedos.id_crianca;
👦❌ Se o Pedro não tiver brinquedo, ele não aparece!
📝 Resultado*:*
| Nome | Brinquedo |
|---|---|
| João | Carrinho |
| Maria | Boneca |
Agora, queremos ver todas as crianças, mesmo aquelas sem brinquedos. Se uma criança não tiver brinquedos, colocamos um "nada" na coluna de brinquedos.
Exemplo: