title: OUTER JOIN with SQL across multiple tables in SQL Server 2008
body: <p>I have a SQL Server 2008 database. This database has three tables:</p>
  
  <p><strong>Person</strong></p>
  
  <pre><code>  - Id
    - FullName
    - MembershipStatusId (nullable)
    - HairStyleId (nullable)
  </code></pre>
  
  <p><strong>MembershipStatus</strong></p>
  
  <pre><code>  - Id
    - Name
  </code></pre>
  
  <p><strong>HairStyle</strong></p>
  
  <pre><code>  - Id
    - ColorName
    - Description
  </code></pre>
  
  <p>I need to create a query that lists all of the people in my database. Because <code>MembershipStatusId</code> and <code>HairStyleId</code> are both nullable, I know I need to do a left outer join. However, because there are multiple tables, I'm not sure how to do it. With a single left outer join, I know I can do this:</p>
  
  <pre><code>SELECT
    p.*,
    m.Name as 'MembershipStatus',
    -- how do i include the person's hair color as part of my result set?
  FROM
    Person p LEFT OUTER JOIN
      MembershipStatus m ON p.[MembershipStatusId]
  </code></pre>
  
  <p>However, I'm not sure how to add the left outer join for the hair style name.  Can somebody please tell me how to include the Person's hair color?</p>
  
  <p>Thank you!</p>