title: SQLAlchemy select from two tables with null LEFT JOIN returns empty result
body: <p>I have two sql tables. 
  Table 1 (id, name) and Table 2 with (id, name, table1_id)</p>
  
  <pre><code> sql = text('SELECT t1.*, t2.* FROM table1 t1 '
                 'LEFT JOIN table2 t2 ON t1.id=t2.table1_id ')
  query = db.session.query(Table1, Table2).from_statement(sql).params()
  table1_table2_tuple_list = query.all()
  </code></pre>
  
  <p>If the result of the sql query is </p>
  
  <pre><code>67, 'some name', 1, 'some name in table 2', 67
  </code></pre>
  
  <p>Then everything is OK and I have <code>[(&lt;Table1&gt;, &lt;Table2&gt;)]</code>  for table1_table2_tuple_list </p>
  
  <p>But 
  If the result of the sql query is: (also all other code is for this result)</p>
  
  <pre><code>67, 'some name', Null, Null, Null
  </code></pre>
  
  <p>Then instead of receiving <code>[(&lt;Table1&gt;, None)]</code> 
  I receive <code>[(None, None)]</code></p>
  
  <p>If I change my code a little bit:</p>
  
  <pre><code>sql = text('SELECT t1.*, t2.id, t2.name,t1.id FROM table1 t1 '
                 'LEFT JOIN table2 t2 ON t1.id=t2.table1_id ')
  query = db.session.query(Table1, Table2, Table1.id).from_statement(sql).params()
  table1_table2_tuple_list = query.all()
  </code></pre>
  
  <p>Then I receive:</p>
  
  <pre><code>[&lt;Table1&gt;, &lt;Table2&gt;, 1]
  </code></pre>
  
  <p>But in this case I'm not even sure if this is correct because I match two columns from the sql to model Table2 that has three columns. Not sure at all why this is working, but everything seems on place. Still is not what I want, because I don't want to return to this query and to specify again and again new columns if there are such for Table2</p>
  
  <p>What I need is a way to select from two tables with pure sql , and to match the result to my models. Also I want to have result even in the cases when one of the tables doesn't have value in it's result columns. Hope I am clear. My goal is to receive </p>
  
  <pre><code>[(&lt;Table1&gt;, None)]
  </code></pre>
  
  <p>when the query is for all colums (<code>SELECT t1.*, t2.*</code>) and there is LEFT JOIN with null added.</p>