title: INSERT INTO vs SELECT INTO
body: <p>What is the difference between using</p>
  
  <pre><code>SELECT ... INTO MyTable FROM...
  </code></pre>
  
  <p>and</p>
  
  <pre><code>INSERT INTO MyTable (...)
  SELECT ... FROM ....
  </code></pre>
  
  <p>?</p>
  
  <p>From BOL [ <a href="http://msdn.microsoft.com/en-us/library/ms174335.aspx" rel="noreferrer">INSERT</a>, <a href="http://msdn.microsoft.com/en-us/library/ms188029.aspx" rel="noreferrer">SELECT...INTO</a> ], I know that using SELECT...INTO will create the insertion table <em>on the default file group</em> if it doesn't already exist, and that the logging for this statement depends on the recovery model of the database.</p>
  
  <ol>
  <li>Which statement is preferable? </li>
  <li>Are there other performance implications?</li>
  <li>What is a good use case for SELECT...INTO over INSERT INTO ...?</li>
  </ol>
  
  <p>Edit: I already stated that I know that that SELECT INTO... creates a table where it doesn't exist.  What I want to know is that SQL includes this statement for a reason, what is it? Is it doing something different behind the scenes for inserting rows, or is it just syntactic sugar on top of a <code>CREATE TABLE</code> and <code>INSERT INTO</code>.</p>