CREATE TABLE t1(a,b,c,d); CREATE INDEX t1x ON t1(a,b); INSERT INTO t1(a,b,c,d) VALUES(1,2,0,0),(3,4,0,0),(5,6,0,0); CREATE TABLE t2(w,x,y,z); CREATE INDEX t2x ON t2(w,x); INSERT INTO t2(w,x,y,z) VALUES(1,2,11,22),(8,9,88,99),(3,5,33,55),(5,6,55,66); SELECT *,'|' FROM t1 ORDER BY a; UPDATE t1 SET (c,d) = (SELECT y,z FROM t2 WHERE (w,x)=(a,b)); SELECT *,'|' FROM t1 ORDER BY a; UPDATE t1 SET (c,d) = (SELECT y,z FROM t2 WHERE w=a); SELECT *,'|' FROM t1 ORDER BY a; UPDATE t1 SET (c) = 99 WHERE a=3; SELECT *,'|' FROM t1 ORDER BY a; UPDATE t1 SET b = 8, (c,d) = (SELECT 123,456) WHERE a=3; SELECT *,'|' FROM t1 ORDER BY a;