De acordo com o diagrama do esquema de banco de da...

Próximas questões
Com base no mesmo assunto
Ano: 2011 Banca: FUMARC Órgão: BDMG Prova: FUMARC - 2011 - BDMG - Analista de Sistemas |
Q165269 Banco de Dados
De acordo com o diagrama do esquema do banco de dados relacional abaixo, responda às questões de 47 a 51.

Imagem 031.jpg


De acordo com o diagrama do esquema de banco de dados relacional, escolha a sentença SQL que melhor responda à seguinte necessidade: “Excluir as tuplas da relação DEPOSITANTE, cujo cliente reside na UF de ‘SP’”.
Alternativas

Comentários

Veja os comentários dos nossos alunos

a) DELETE FROM DEPOSITANTE 
WHERE id_cliente EXISTS IN
(SELECT id_cliente FROM CLIENTE WHERE sig_uf = ‘SP’)

Para fazer com a cláusula Exists deveria ser assim:

DELETE FROM DEPOSITANTE 
WHERE EXISTS
(SELECT id_cliente FROM CLIENTE WHERE sig_uf = ‘SP’ AND DEPOSITANTE.id_cliente = CLIENTE.id_cliente)

Poderia ser SELECT * ao invés de SELECT id_cliente no sub-select.

b) DELETE FROM DEPOSITANTE
WHERE sig_uf = ‘SP’

A tabela DEPOSITANTE não possui o campo sig_uf

c) DELETE FROM DEPOSITANTE 
WHERE sig_uf id_cliente IN 
(SELECT id_cliente FROM CLIENTE WHERE sig_uf = ‘SP’)

A tabela DEPOSITANTE não possui o campo sig_uf

d) DELETE FROM DEPOSITANTE
WHERE id_cliente IN 
(SELECT id_cliente FROM CLIENTE WHERE sig_uf = ‘SP’)

Só complementando.

"Exists" - se utiliza em comparações de verdade/falso para determinar se a subconsulta devolve algum registro. Ex:
...
WHERE EXISTS (
   SELECT
   FROM
   Pedidos
    WHERE
    Pedidos.IdPedido = Clientes.IdCliente

"IN" -  se emprega para recuperar unicamente aqueles registros da consulta principal para os que alguns registros da subconsulta contém um valor igual.
...   
IN (
    SELECT
   IDProduto
   FROM
    DetalhePedido
   WHERE
   Desconto = 0.25
)


 

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo