Dado o seguinte script SQL:
CREATE TABLE cargo(id INTEGER PRIMARY KEY, descricao VARCHAR(20) NOT NULL);
CREATE TABLE funcionario( id INTEGER PRIMARY KEY, nome VARCHAR(50) NOT NULL,
cargo_id INTEGER NULL, FOREIGN KEY (cargo_id) REFERENCES cargo (id) );
INSERT INTO cargo (id, descricao) VALUES (1, ‘COORDENADOR’);
INSERT INTO cargo (id, descricao) VALUES (2, 'DIRETOR');
INSERT INTO cargo (id, descricao) VALUES (3, 'PRODESSOR');
INSERT INTO cargo (id, descricao) VALUES (4, 'TELEFONISTA');
INSERT INTO funcionario (id, nome, cargo_id) VALUES (1, 'JOÃO PEDRO', 1);
INSERT INTO funcionario (id, nome, cargo_id) VALUES (2, 'MARIA JOANA', 2);
INSERT INTO funcionario (id, nome, cargo_id) VALUES (3, 'RODRIGO JOSÉ', 2);
INSERT INTO funcionario (id, nome, cargo_id) VALUES (4, 'AMANDA LAURA', 3);
INSERT INTO funcionario (id, nome, cargo_id) VALUES (5, 'RENATA SILVIA', 3);
INSERT INTO funcionario (id, nome, cargo_id) VALUES (6, 'JORGE JULIANO', 3);
INSERT INTO funcionario (id, nome, cargo_id) VALUES (7, 'MARCOS GUSTAVO', NULL);
INSERT INTO funcionario (id, nome, cargo_id) VALUES (8, 'FLÁVIO ROBERTO', NULL);
Deseja-se saber quais são os funcionários com cargo, quais os funcionários sem cargo e os cargos sem funcionários. Qual das consultas a seguir retorna esta informação de forma simultânea, como na figura a seguir?
cargo_id | descrição | funcionario_id | nome |
1 | COORDENADOR | 1 | JOÃO PEDRO |
2 | DIRETOR | 2 | MARIA JOANA |
2 | DIRETOR | 3 | RODRIGO JOSÉ |
3 | PRODESSOR | 4 | AMANDA LAURA |
3 | PRODESSOR | 5 | RENATA SILVIA |
3 | PRODESSOR | 6 | JORGE JULIANO |
4 | TELEFONISTA | NULL | NULL |