Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Query do professor. Uso ALIAS

Na query do professor eu não entendi a função do A entre o DELETE e FROM. Tentei executar trocando todos os A pelo nome da tabela e não rodou. Isso quer dizer que escrevendo a query desta maneira precisamos obrigatoriamente colocar um ALIAS? Quando o ALIAS é obrigatório e quando não é?

DELETE A FROM NOTAS A INNER JOIN CLIENTES B ON A.CPF = B.CPF WHERE B.IDADE <= 18

De qualquer forma eu resolvi sem o INNER JOIN

DELETE FROM NOTAS WHERE CPF IN (SELECT CPF FROM CLIENTES WHERE IDADE <= 18);

2 respostas
solução!

Olá André, tudo bem?

O A é utilizado entre o DELETE e o FROM, para especificar que apenas os registros correspondentes as tabelas listadas antes da cláusula FROM serão excluídos, neste caso apenas registros da tabela de NOTAS serão excluídos.

Mas, não é obrigatório utilizar alias nas consultas, ele é utilizado para facilitar e deixar mais intuitivo os dados retornados, mas a partir do momento que é dado um alias para uma tabela, por exemplo, você passa a referenciar aquela tabela pelo seu alias ao invés do seu nome.

Caso, você não utiliza-se alias no exemplo da atividade, você precisaria referencia a tabela utilizando o seu nome, dessa forma:

DELETE NOTAS FROM NOTAS 
INNER JOIN CLIENTES  ON NOTAS.CPF = CLIENTES.CPF 
WHERE CLIENTES.IDADE <= 18;

Espero ter ajudado, qualquer dúvida é só falar e bons estudos!

Depois que eu postei a dúvida aqui eu comecei a pesquisar sobre a sintaxe e vi que a especificar o nome da tabela entre o DELETE e o FROM faz parte. Cheguei também neste resultado. Muito obrigado pela presteza Danielle.