Questão
ID 2632818Disciplina: Tecnologia da Informação
Assunto: Select
Ano: 2018 Banca: FUNDATEC - Fundação Universidade Empresa de Tecnologia e Ciências Órgão: Consórcio de Informática na Gestão Pública
Para responder às questões 17, 18 e 19, considere as Figuras 4(a) e 4(b). A Figura 4(a) mostra a declaração em SQL, que possibilitou a criação da tabela "FUNCIONARIO", no banco de dados MySQL 5. A Figura 4(b) exibe, intencionalmente, apenas parte do conteúdo da tabela "FUNCIONARIO", na qual se pode observar os seguintes detalhes: (1) cada linha dessa tabela registra os dados de um funcionário, tais como, o seu código, nome, cargo, salário e CPF e, também, quem é o seu chefe; (2) Por exemplo, a seta nº 1 aponta para o funcionário de código "8786", chamado "LUIZ PAULO", subordinado ao funcionário "7227", que é o seu chefe.
CREATE TABLE `ciga`.`FUNCIONARIO` ( codigo INT (4) PRIMARY KEY NOT NULL, nome VARCHAR (20) NOT NULL, cargo VARCHAR (10) NOT NULL, chefe INT (4), salario decimal (7,2), CPF varchar (11)) ENGINE = InnoDB; |
-------Figura 4(a) – Tabela "FUNCIONARIO"
| |||||
codigo | nome | cargo | chefe | salario | CPF |
7000 | JOSE DA SILV | PRESIDENTE |
| 45000.00 | 02234567899 |
7112 | PEDRO PAULO | SUPERVISOR | 7000 | 15000.00 | 12345678990 |
7117 | CARLA SILVA | SUPERVISOR | 7000 | 12000.00 | 02345678996 |
7227 | ANTONIO FILHO | GERENTE | 7112 | 8000.00 | 12345678777 |
7228 | PAULO FERNANDES | GERENTE | 7117 | 9000.00 | 12345678777 |
7700 | ROBERTO PEREIRA | GERENTE | 7112 | 13000.00 | 02345678995 |
8782 | ANTONIO CARLOS | VENDEDOR | 7700 | 3000.00 | 12345678777 |
8784 | ADAO DA SILVA | VENDEDOR | 7700 | 4000.00 | 12345678777 |
8786 | LUIZ PAULO | CAIXA | 7227 | 2800.00 | 12345678994 |
8788 | LUIZA PEREIRA | AUXILIAR | 7228 | 1400.00 | 12345678993 |
8790 | ANA GOMES | VENDEDOR | 7700 | 1900.00 | 12345678993 |
8792 | ROBERTO CARLOS | CAIXA | 7227 | 2700.00 | 12345678991 |
8794 | PAULO LEITE | AUXILIAR | 7228 | 1800.00 | 12345678777 |
----------------Figura 4(b) – Conteúdo parcial da tabela "FUNCIONARIO"
Após observar as Figuras 4(a) e 4(b), assinale a declaração, em SQL padrão, que permite mostrar o código e nome dos funcionários que desempenham o cargo de gerente ou supervisor e também o código e nome dos funcionários que são seus subordinados. Deverão ser mostrados apenas os gerentes e supervisores que tenham em qualquer posição do nome os caracteres "DRO" e que ganhem entre 10000 e 15000.
I.
select f2.codigo, f2.nome, f1.codigo, f1.nome from funcionario f1, funcionario f2 where f1.chefe = f2.codigo and (f2.cargo = 'GERENTE' or f2.cargo = 'SUPERVISOR') and f2.salario between 10000 and 15000 and f2.nome like '%DRO%'; |
II.
select f2.codigo, f2.nome, f1.codigo, f1.nome from funcionario f1 inner join funcionario f2 ------on f1.chefe = f2.codigo where f2.codigo in ------(select codigo ------from funcionario ------where (cargo = 'GERENTE' or cargo = 'SUPERVISOR') and salario >= 10000 and salario <= 15000 and nome like '%DRO%'); |
III.
select f2.codigo, f2.nome, f1.codigo, f1.nome from funcionario f1 left join funcionario f2 ------on f1.chefe = f2.codigo where f2.codigo in ------((select codigo ------from funcionario ------where (cargo = 'GERENTE' or 'SUPERVISOR')) and ------(select codigo ------from funcionario ------where salario >= 10000 and <= 15000) and ------(select codigo ------from funcionario ------where nome in 'DRO')); |
Quais estão corretas?

