Я использую подзапрос в UPDATE:
UPDATE tableA 
SET x,y,z = ( (SELECT x, y, z 
               FROM tableB b
               WHERE tableA.id = b.id
                 AND (tableA.x != b.x
                      OR tableA.y != b.y
                      OR tableA.z != b.z))) );
Мой вопрос: что произойдет, если в подзапросе нет строк? Будет ли обновление с нулями?
Во-вторых, есть ли лучший способ написать это. Я в основном обновляю три поля в таблице A из таблицы B, но обновление должно происходить только в том случае, если любое из трех полей отличается.
