El update por si mismo solo actualiza un registro, pero con esta consulta puedes actualizar varios registros utilizando un select anidado
si la tabla que se desea actulizar no tiene un campo que se llame igual a la tabla del select anidado se puede utilizar AS para ponerle el mismo nombre
(SELECT campo1 AS campoConLosDatosQueNecesito, id2 AS id FROM otraTable) AS selectAnidado
Al SELECT tambien se le debe de poner un nombre.
Para utilizar USING se debe de poner el campo con el mismo nombre en las dos tablas y obviamente deben de tener los mismos datos (el id puede ser de ayuda)
UPDATE mi_tabla
LEFT JOIN
(SELECT campo1 AS campoConLosDatosQueNecesito, idTabla AS id FROM otraTabla) AS selectAnidado
USING (id)
SET campo = selectAnidado.campoConLosDatosQueNecesito
WHERE id = "cualquierCosa";
la palabra reservada USING debe de tener como parametro el campo que coinside en las dos tablas
Todo lo demas es igual que en cualquier update