Código: Selecionar todos
CREATE TABLE material (
id_material INTEGER PRIMARY KEY,
nome VARCHAR(30)
);
Código: Selecionar todos
CREATE TABLE pessoa (
id_pessoa INTEGER PRIMARY KEY,
nome VARCHAR(30),
id_materialfk INTEGER,
CONSTRAINT material_if_fk FOREIGN KEY(id_materialfk)
REFERENCES material(id_material)
);
Código: Selecionar todos
INSERT INTO material (id_material, nome) VALUES
(1,'bola'),(2,'capacete'),(3,'bone'),(4,'luva'),(5,'chuteira'),(6,'globo'),(7,'taco');
INSERT INTO pessoa (id_pessoa, nome, id_materialfk) VALUES
(1,'Pedro',1),(2,'Rafael',6),(3,'Marcos',7);
Código: Selecionar todos
SELECT material.nome, pessoa.nome
FROM material, pessoa
WHERE material.id_material = pessoa.id_materialfk
Código: Selecionar todos
SELECT material.nome, pessoa.nome
FROM material INNER JOIN pessoa
ON material.id_material = pessoa.id_materialfk;
--caso tenham material apresente os nomes dos materiais.
Código: Selecionar todos
INSERT INTO pessoa(id_pessoa, nome, id_materialfk) VALUES(4,'Daniel',null);
Código: Selecionar todos
SELECT p.nome, m.nome
FROM pessoa as p LEFT JOIN material as m
ON id_material = id_materialfk;
Código: Selecionar todos
SELECT p.nome, m.nome
FROM pessoa as p LEFT JOIN material as m
ON id_material = id_materialfk;
Código: Selecionar todos
SELECT A.nome, B.nome
FROM pessoa AS A
LEFT JOIN material AS B
ON A.id_materialfk = B.id_material
WHERE B.id_material IS NULL;
Código: Selecionar todos
SELECT A.nome, B.nome
FROM pessoa AS A
RIGHT JOIN material AS B
ON A.id_materialfk = B.id_material;
Código: Selecionar todos
SELECT A.nome, B.nome
FROM pessoa AS A RIGHT JOIN material AS B
ON A.id_materialfk = B.id_material
WHERE A.id_materialfk is null;
Código: Selecionar todos
SELECT A.nome, B.nome
FROM pessoa AS A FULL OUTER JOIN material AS B
ON A.id_materialfk = B.id_material
Código: Selecionar todos
SELECT A.nome, B.nome
FROM pessoa AS A FULL OUTER JOIN material AS B
ON A.id_materialfk = B.id_material
WHERE A.id_materialfk is null OR B.id_material IS NULL