Observe a figura a seguir, que ilustra a estrutura da tabela...
Observe a figura a seguir, que ilustra a estrutura da tabela USO_TERRA criada por Lucia em um Banco de Dados MySQL 5.7.
Para inserir dois registros na tabela USO_TERRA, Lucia deverá
executar o comando:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa A está errada , o comando INSERT deve ter apenas uma clausula VALUES , e nela você deve passar todos os valores, e não passar várias clausulas VALUES.
A alternativa C está errada, a sintaxe apresentada dará erro. Para usarmos na inserção dados oriundos de um SELECT, devemos utilizar o SELECT INTO.
A alternativa D está errada, o SELECT dentro dos parâmetros dará erro.
A alternativa E está errada, o SELECT dentro dos parâmetros dará erro.
Portanto a alternativa correta é a letra B
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
A alternativa A está errada , o comando INSERT deve ter apenas uma clausula VALUES , e nela você deve passar todos os valores, e não passar várias clausulas VALUES.
A alternativa C está errada, a sintaxe apresentada dará erro. Para usarmos na inserção dados oriundos de um SELECT, devemos utilizar o SELECT INTO.
A alternativa D está errada, o SELECT dentro dos parâmetros dará erro.
A alternativa E está errada, o SELECT dentro dos parâmetros dará erro.
Portanto a alternativa correta é a letra B
A questão A estaria certa se no lugar da última vírgula na segunda linha estivesse ";" (ponto e vírgula).
INSERT INTO USO_TERRA
VALUES(1, 'Pastagem com manejo');
VALUES(2, 'Vegetação campestre');
Sobre a Letra C, o único erro é o "ORDER BY ID" porque não há "ID" no SELECT.
Se fosse "ORDER BY 1", funcionaria perfeitamente. (executei para confirmar)
Se prestarmos bem atenção, a imagem mostra uma tabela com duas colunas: ID do tipo INTEGER (número inteiro) e DESCRICAO do tipo VARCHAR(45) (cadeia de caracteres de tamanho máximo 45).
Assim, o comando para inserir dois registros nessa tabela deveria ter o seguinte formato:
INSERT INTO USO_TERRA
VALUES
(<valor 1 para ID>, <valor 1 para DESCRICAO>),
(<valor 2 para ID>, <valor 2 para DESCRICAO>);
Coloquei as quebras de linha somente para você identificar melhor as partes do comando, mas veja que essa estrutura é equivalente somente ao que é trazido na letra B.
As demais contêm comandos com erro de sintaxe, ou seja, que não são comandos SQL válidos:
a) Você não pode ter dois VALUES em um só INSERT INTO. Você poderia definir um VALUES e várias tuplas separadas por vírgula, como é feito na letra B.
c) Não é possível ordenar registros em uma inserção.
d) O comando mistura as duas sintaxes: coloca selects dentro da definição de tuplas entre parênteses. Em um INSERT INTO você usa VALUES + tuplas ou usa uma consulta com SELECT, as duas coisas não dá.
e) Esse comando também mistura a definição de tuplas com o VALUES com a utilização do comando SELECT.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo