Questão de Banco de Dados — Consultas e Comandos em SQL — FGV 2022
Banco de DadosConsultas e Comandos em SQL
- Código
- fg152887
- Banca
- FGV
- Órgão
- MPE SC
- Ano
- 2022
- Cargo
- Ana ( )
Maria trabalha com um banco de dados onde há uma tabela T com linhas repetidas. Ela precisa remover as repetições indesejadas, porém mantendo as linhas sem repetição e apenas uma linha de cada conjunto de linhas repetidas, como mostrado a seguir.
Instância da tabela T antes da remoção:
| A | B | C |
| 2 | 5 | 7 |
| 2 | 5 | 7 |
| 2 | 5 | 7 |
| 1 | 8 | 9 |
| 1 | 8 | 9 |
| 2 | 2 | 2 |
Instância da tabela T após a remoção:
| A | B | C |
| 2 | 5 | 7 |
| 1 | 8 | 9 |
| 2 | 2 | 2 |
Maria optou por usar o comando abaixo para realizar a tarefa.
delete from T where
exists (select * FROM T t1
where T.A = t1.A and T.B = t1.B
and T.C = t1.C)
Na execução desse comando, serão removidas:
- Aapenas uma linha pertencente a cada conjunto de linhas que contém linhas repetidas;
- Bapenas n-1 linhas pertencentes a cada conjunto que contém n linhas repetidas, onde n é um número par;
- Capenas n-1 linhas pertencentes a cada conjunto que contém n linhas repetidas, onde n é um número ímpar;
- Dtodas as linhas da tabela, exceto as linhas que não foram repetidas;
- Etodas as linhas da tabela, sem exceção.