title: Mysql join queries not returning all rows as it should
body: <p>I have an event software. The first table stores individuals who signed up for an event: <code>EventIndividuals</code>. I have a second table that stores the t-shirt they selected as a gift when they attend the event: <code>EventIndividualShirtXref</code>.</p>
  
  <p>When I run the following query to see how many individuals are attending the 1st event it returns 31 rows correctly:</p>
  
  <pre><code>SELECT Id
  FROM EventIndividuals
  WHERE EventId = 1
  </code></pre>
  
  <p>Then when I run my second query to pair them up with a shirt it only returns 22 rows:</p>
  
  <pre><code>SELECT *
  FROM EventIndividualShirtXref
  WHERE EventIndividualId IN(SELECT Id FROM EventIndividuals WHERE EventId = 1)
  </code></pre>
  
  <p>I also tried running the next query using a join and it still only returns 22 rows:</p>
  
  <pre><code>SELECT esx.*
  FROM EventIndividualShirtXref esx
  INNER JOIN EventIndividuals ei
  ON esx.EventIndividualId = ei.Id
  WHERE ei.EventId = 1 
  </code></pre>
  
  <p>I checked the indexing and the the columns are indexed correctly.
  Is this enough info provided to figure out why the 31 rows are cut to 22?
  This has never happened to me before and it makes no sense.</p>