Comandi SQL Vari: Query nidificata

Si può pensare di aggiornare record di una tabella basandosi su valori di un'altra tabella. Poichè non è possibile elencare più di una tabella nell'istruzione UPDATE, si può usare la clausola EXISTS.

Per esempio:

UPDATE fornitori
SET fornitore_nome = (SELECT clienti.nome
FROM clienti
WHERE clienti.cliente_id = fornitori.fornitore_id)
WHERE EXISTS
  (SELECT clienti.nome
    FROM clienti
    WHERE clienti.clienti_id = fornitori.fornitore_id);

Quando un fornitore_id coincide con il valore di un cliente_id, il fornitore_nome deve essere sovrascitto al nome del cliente preso dalla tabella dei clienti.