title: MySQL query to select dates where field is NULL or field date value is not greater than another date
body: <p>I have this <code>MySQL</code> query:</p>
  
  <pre><code>SELECT DISTINCT
      *
  FROM
      students s
          LEFT JOIN
      (SELECT 
          *
      FROM
          studentabsences a1
      WHERE
          (a1.absence_date = '2013-01-28')) a ON a.absence_student_id = s.student_id
          LEFT JOIN
      (SELECT 
          *
      FROM
          studentabsencenotes b1
      WHERE
          (b1.absence_note_date = '2013-01-28')
      GROUP BY absence_note_student_id) b ON b.absence_note_student_id = s.student_id
          INNER JOIN
      studentdates sd ON sd.student_id = s.student_id
          INNER JOIN
      coursecategory ctc ON s.student_course_category_id = ctc.category_id
  WHERE
      '2013-01-28' BETWEEN sd.student_startdate AND sd.student_enddate
  ORDER BY s.student_lastname , s.student_firstname
  </code></pre>
  
  <p>Now I would like to add another <code>WHERE</code> <code>clause</code> to select rows that <strong>has not</strong> a greater <code>sd.student_break_date</code> than 2013-01-28 but also select empty fields</p>
  
  <p>For example:</p>
  
  <pre><code>WHERE '2013-01-28' &gt;= sd.student_break_date
  </code></pre>
  
  <p>This works but those rows that has <code>NULL</code> values in the <code>sd.student_break_date</code> are not listed.</p>
  
  <p>Messy, huh? My question is: How can I select fields that are empty AND fields where date is not higher than 2013-01-28</p>