title: LEFT JOIN EACH in Bigquery loses rows
body: <p>I have three tables: <code>a</code>, <code>b</code>, <code>c</code></p>
  
  <p>For simplicity in this example, they all have only one column, an id column. These ids are NEVER <code>NULL</code>!</p>
  
  <p>Now I join all three tables:</p>
  
  <pre><code>SELECT * FROM 
  a
  LEFT JOIN EACH b
  ON a.id = b.id
  LEFT JOIN EACH c
  ON b.id = a.id
  </code></pre>
  
  <p>Now the problem:</p>
  
  <p><code>b</code> does not contain all 'ids' from <code>a</code>, therefore some <code>NULL</code>-values occur, 
  when I then join <code>c</code>, the rows with these <code>NULL</code>-values are removed! From my understanding, <code>LEFT JOIN</code> should never remove rows, but only add new ones, right?</p>
  
  <p>Example:</p>
  
  <pre><code>a: id = [1,2]
  b: id = [1]
  c: id = [1]
  </code></pre>
  
  <p>Bigquery would return </p>
  
  <pre><code>row1: 1,1,1
  </code></pre>
  
  <p>My expected result:</p>
  
  <pre><code>row1: 1,1,1
  row4: 2,NULL, NULL
  </code></pre>
  
  <p>Is there a way to get the expected behaviour in BigQuery?</p>
  
  <p>UPDATE:</p>
  
  <p>Thx to @Felipe and @oulenz for the input, i've now tested:</p>
  
  <pre><code>select *
  from (select 1 as id) a
  left outer join (select 2 as id) b
    on b.id = a.id
  left outer join (select 2 as id) c
    on c.id = b.id
  </code></pre>
  
  <p>And this yields my expected result <code>1,null,null</code> and does not reproduce my problem.</p>
  
  <p>I will have to investigate further where the problem is. Thx for your input so far!</p>