title: SQL UNNEST requires alias?
body: <p>I'm learning SQL and trying to understand UNNEST. On a table of FireBase events with the following schema:</p>
  
  <pre><code>event_params    RECORD  REPEATED    
  event_params. key   STRING  NULLABLE    
  event_params. value RECORD  NULLABLE    
  event_params.value. string_value    STRING  NULLABLE    
  event_params.value. int_value   INTEGER NULLABLE    
  </code></pre>
  
  <p>This works: </p>
  
  <pre><code>SELECT params.key, params.value.string_value, params.value.int_value
  FROM `...events_20181021`, 
     UNNEST(event_params) as params
  </code></pre>
  
  <p>Further when I run</p>
  
  <pre><code>SELECT *
  FROM `...events_20181021`, 
     UNNEST(event_params)
  </code></pre>
  
  <p>I see columns like <code>event_params.key, event_params.value.string_value, event_params.value.int_value</code> (in BigQuery). But when I try </p>
  
  <pre><code>SELECT event_params.key, event_params.value.string_value, event_params.value.int_value
  FROM `...events_20181021`, 
     UNNEST(event_params)
  </code></pre>
  
  <p>that fails. Why?</p>
  
  <p><strong>Edit:</strong> see <a href="https://stackoverflow.com/a/51563922/1908650">https://stackoverflow.com/a/51563922/1908650</a> for an example of UNNEST used without an alias. </p>