Oi! Como você está?
Peço desculpas pela demora em te responder.
A condição EXISTS
não será estritamente necessária para um update específico acontecer. Assim como em outras linguagens, em SQL temos muitas formas possíveis de chegar a um mesmo resultado. Tendo isso em vista, a condição EXISTS
pode ser bastante útil quando não conhecemos todos os parâmetros que temos na tabela que estamos buscando e/ou comparando os dados.
Na query desenvolvida na aula, o instrutor faz a demonstração com a intenção didática de que possamos compreender "por baixo dos panos" o que acontece ao utilizarmos esse comando.
Para compreendê-lo ainda melhor, podemos consultar a documentação oficial, que diz o seguinte:
O operador EXISTS verifica se a sequência retornada por sua expressão de entrada está vazia ou não e retorna falso ou verdadeiro, respectivamente. Um caso especial é quando a expressão de entrada retorna NULL. Nesse caso, EXISTS também retornará NULL, a menos que se saiba que a expressão de entrada sempre retornará pelo menos um item, caso em que EXISTS retornará true.
Quando aliamos a condição EXISTS
a um UPDATE
, a atualização será feita nos valores que retornarem true
(1) naquela subquery em que a condição está. Mesmo que apenas um registro seja verdadeiro, o retorno do EXISTS
será true
e as atualizações serão aplicadas a esses registros. Ela é útil quando precisamos principalmente saber sobre a existência de valores em uma determinada tabela, mais do que os valores em si.
Espero que tenha ficado mais claro. Abraços.