1. 程式人生 > >sql 技巧

sql 技巧

  • update時連表
https://stackoverflow.com/questions/1293330/how-can-i-do-an-update-statement-with-join-in-sql

ANSI/ISO:
update ud 
     set assid = (
          select sale.assid 
          from sale 
          where sale.udid = ud.id
     )
 where exists (
      select * 
      from sale 
      where
sale.udid = ud.id );
MySQL: update ud u inner join sale s on u.id = s.udid set u.assid = s.assid SQL Server: update u set u.assid = s.assid from ud u inner join sale s on u.id = s.udid Oracle: update (select u.assid as new_assid, s.assid as old_assid from
ud u inner join sale s on u.id = s.udid) up set up.new_assid = up.old_assid SQLite: update ud set assid = ( select sale.assid from sale where sale.udid = ud.id ) where RowID in ( select RowID from ud where sale.udid = ud.id );