De acordo com o diagrama do esquema de banco de da...
Comentários
Veja os comentários dos nossos alunos
WHERE id_cliente
(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
(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