No trecho de código SQL a seguir está representado um conjun...
CREATE TABLE TAB1 (MAT INT(10) NOT NULL, NOME VARCHAR(4) NOT NULL, FONE VARCHAR(9), PRIMARY KEY (MAT)); INSERT INTO TAB1 VALUES (0123456789, ‘ABC’, ‘XYZ’); CREATE VIEW V1 AS SELECT NOME, FONE, FONE+NOME AS VALUE FROM TAB1; SELECT * FROM V1;
O resultado da declaração SELECT corresponde, respectivamente, a
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a E.
Para resolver esta questão, é necessário compreender a sintaxe e semântica da linguagem SQL, bem como conceitos de banco de dados como tabelas, campos, tipos de dados e chaves primárias. Também é preciso entender o propósito e a criação de views e realizar operações de inserção de registros e consultas básicas.
A criação da tabela TAB1
é bem-sucedida, com a coluna MAT
como chave primária e não nula, a coluna NOME
também não nula e a coluna FONE
que pode ter valores nulos. O comando INSERT
falha ao tentar inserir o valor 0123456789
na coluna MAT
pois o valor começa por zero, e inteiros não possuem zeros à esquerda, o valor inserido será na verdade 123456789
, e a coluna NOME
, que possui uma restrição NOT NULL
, receberia apenas 'ABC'
, que é uma string com 3 caracteres, sendo que a coluna requer 4 caracteres. Portanto, a inserção será rejeitada também pela ausência de um valor adequado para a coluna NOME
.
A view V1 é criada com base na tabela TAB1
, mas como a inserção falhou, ela estará vazia. A consulta SELECT *
da view V1, portanto, não retornará nenhuma linha, resultando em um conjunto de resultados vazio.
Portanto, a alternativa correta é a E, pois a declaração SELECT
correspondente resultará em um conjunto de resultados vazio.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
tem que utilizar a função concat :
http://paposql.blogspot.com.br/2011/11/concatenando-campos-no-mysql.html
Operadores aritméticos, tais como o sinal (+), só funcionam para valores numéricos.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo