title: Many SQL queries vs 1 complex query
body: <p>I have a database with two tables that are similar to:</p>
  
  <pre><code>table1
  ------
  Id : long, auto increment
  Title : string(50)
  ParentId : long
  
  table2
  ------
  Id : long, auto increment
  FirstName : string(20)
  LastName : string(30)
  Zip : string(5)
  </code></pre>
  
  <p><code>table2</code> has a one-to-many relationship with <code>table1</code> where many includes zero.</p>
  
  <p>I also have the following query (that works correctly, so ignore typos an the like, it is an example):</p>
  
  <pre><code>SELECT t1.Id AS tid, t1.Title, t2.Id AS oid, t2.FirstName, t2.LastName
      FROM table t1
      INNER JOIN table2 t2 ON t1.ParentId = t2.Id
      WHERE t2.Id IN
          (SELECT Id FROM table2
           WHERE Zip IN ('zip1', 'zip2', 'etc'))
      ORDER BY t2.Id DESC
  </code></pre>
  
  <p>The query finds all items in <code>table1</code> that belong to a person in <code>table2</code>, where the person is in one of the listed zip codes.</p>
  
  <p>The problem I have now is: I want to show all the users (with their items <em>if</em> available) in the listed zip codes, not just the ones with items.</p>
  
  <p>So, I am wondering, should I just do something simple with a lot more queries, like:</p>
  
  <pre><code>SELECT Id AS oid, FirstName, LastName FROM table2 WHERE Zip in ('zip1', 'zip2', 'etc')
  foreach(result) {
      SELECT Id AS tid, Title FROM table2 WHERE ParentId = oid
  }
  </code></pre>
  
  <p>Or should I come up with a more elaborate single SQL statement? And if so, can I get a little help? Thanks!</p>