title: SQL query to return rows sorted by key plus empty rows for missing keys
body: <p>I have a table that has, in essence, this structure:</p>
  
  <pre> key        value
   ------     ------
   2          val1
   3          val2
   5          val3</pre>
  
  <p>The keys are sequential integers from 1 up to (currently) 1 million, increasing by several thousand each day. Gaps in the keys occur when records have been deleted.</p>
  
  <p>I'm looking for an SQL query that returns this:</p>
  
  <pre> key        value
   ------     ------
   1
   2          val1
   3          val2
   4 
   5          val3</pre>
  
  <p>I can see how to do this with joining to a second table that has a complete list of keys. However I'd prefer a solution that uses standard SQL (no stored procedures or a second table of keys), and that will work no matter what the upper value of the key is. </p>