Questão 2632818

Tecnologia da Informação · 2018

Questão

ID 2632818

Disciplina: 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?

Alternativas da questão 2632818
Pular para o conteúdo principal