UNISCITI ALL'AGGIORNAMENTO SQL potrebbe essere utilizzato per aggiornare una tabella utilizzando un'altra tabella e una condizione di unione.
Sintassi –
UPDATE tablename INNER JOIN tablename ON tablename.columnname = tablename.columnname SET tablenmae.columnnmae = tablenmae.columnname;>
Utilizza più tabelle in SQL UPDATE con l'istruzione JOIN.
Supponiamo di avere due tabelle: Geeks1 e Geeks2. Per controllare il contenuto della tabella –
SELECT * FROM Geeks1;>
Tavolo - Geek1
col1 | col2 | col3 |
---|---|---|
1 | undici | PRIMO |
undici | 12 | SECONDO |
ventuno | 13 | TERZO |
31 | 14 | IL QUARTO |
SELECT * FROM Geeks2;>
Tavolo - Geek2
col1 | col2 | col3 |
---|---|---|
1 | ventuno | DUE UNO |
undici | 22 | DUE-DUE |
ventuno | 23 | DUE TRE |
31 | 24 | DUE-QUATTRO |
Esempio -
Abbiamo la tabella Geeks2 che ha due righe in cui Col 1 è 21 e 31 e vogliamo aggiornare il valore dalla tabella Geeks2 alla tabella Geeks1 per le righe in cui Col 1 è 21 e 31. Inoltre, vogliamo aggiornare i valori di Col 2 e solo Col 3.
UPDATE Geeks1 SET col2 = Geeks2.col2, col3 = Geeks2.col3 FROM Geeks1 INNER JOIN Geeks2 ON Geeks1.col1 = Geeks2.col1 WHERE Geeks1.col1 IN (21, 31);>
Produzione -
(2 row(s) affected)>
SELECT * FROM Geeks1;>
Tavolo - Geek1
col1 | col2 | col3 |
---|---|---|
1 | undici | PRIMO |
undici | 12 | SECONDO |
ventuno | 23 | DUE TRE |
31 | 24 | DUE-QUATTRO |
SELECT * FROM Geeks2;>
Tavolo - Geek2
col1 | col2 | col3 |
---|---|---|
1 | ventuno | DUE UNO |
undici | 22 | DUE-DUE |
ventuno | 23 | DUE TRE |
31 | 24 | DUE-QUATTRO |