title: Update referencing another table
body: <p>I have a statement that needs writing (with generic names for stuff, since this is for work) to update a column 'updCol' in table 'tUpd'.  tUpd also has a column 'linkCol' which is present in another table tOther.  tOther has another column 'idCol'.</p>
  
  <p>My problem is to update the updCol value of rows in tUpd which correspond via linkCol to rows with a given idCol value.</p>
  
  <p>One solution I think should work is the following;</p>
  
  <pre><code>update
      tUpd
  set
      updCol = XXX
  where exists (
      select
          idCol
      from
          tOther
      where
          tOther.linkCol = tUpd.linkCol
      and tOther.idCol = MY_ID
  )
  </code></pre>
  
  <p>However, I have worries that this approach will lead to poor performance, since I've been warned of sub-queries in relation to performance before - this sub-query will be run once for each row of tUpd, is this correct?</p>
  
  <p>Has anyone got a better suggestion?</p>
  
  <p><strong>Important Update</strong>: my workplace avoids using SQL JOINs at all costs, preferring to join within the where clauses using, eg, <code>where a.col = b.col</code>.  This is arguably rather awkward but allows a flexibility in especially logging which I don't fully understand.  SO, I'm looking for non-JOIN-using solutions :)</p>