FC ConcursosFC Concursos

Questão FC90578

1. CREATE TABLE IF NOT EXISTS 'software' ( 2. 'id' int NOT NULL, 3. 'nome' varchar(70) NOT NULL, 4. PRIMARY KEY ('id') 5. ) DEFAULT CHARSET=utf8; 6. INSERT INTO 'software' ('id', '

Linguagem SQL

CEBRASPE (CESPE) · 2018

1. CREATE TABLE IF NOT EXISTS 'software' (
2.  'id' int NOT NULL,
3.  'nome' varchar(70) NOT NULL,
4.  PRIMARY KEY ('id')
5. ) DEFAULT CHARSET=utf8;

6. INSERT INTO 'software' ('id', 'nome') VALUES
7.  ('1', 'Programa ABC'),
8.  ('2', 'Programa WYZ'),
9.  ('3', 'Programa DFG');

10. CREATE TABLE IF NOT EXISTS 'vsoftware' (
11.  'idsoft' int UNSIGNED NOT NULL REFERENCES software(id),
12.  'versao' int(3) NOT NULL,
13.  'descricao' varchar(70) NOT NULL,
14.  PRIMARY KEY ('idsoft','versao'));

15. INSERT INTO 'vsoftware' ('idsoft', 'versao', 'descricao') VALUES
16.  ('1', '1', 'criacao do programa.'),
17.  ('2', '1', '1a versao.'),
18.  ('1', '2', 'atualizacao na tela A.'),
19.  ('1', '3', 'adicao da tela C.'),
20.  ('2', '2', 'adicao da tela D.');


Com base nos comandos MySQL 5.6 precedentes, julgue o item a seguir.

A execução do comando:

SELECT a.idsoft, a.versao, a.descricao
FROM 'vsoftware' a
LEFT OUTER JOIN 'vsoftware' b
ON a.idsoft = b.idsoft AND a.versao < b.versao
WHERE b.idsoft IS NULL;

Retornará os seguintes dados:

Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

Comentário: Essa questão está correta, pois a consulta SQL apresentada faz uso adequado do LEFT OUTER JOIN e do filtro WHERE b.idsoft IS NULL para identificar a versão mais recente de cada software armazenado na tabela vsoftware. Vamos destrinchar essa lógica de forma clara e didática.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo