title: NULL and empty column selection in WHERE clause fails
body: <p>Can someone tell me why only 3rd Query works? I would understand if <code>NULL</code> and <code>empty column/string</code> get treated differently but why 2nd query doesn't work? Converting <code>is_disabled</code> and <code>is_terminated</code> into <code>VARCHAR(3)</code> doesn't help as well.</p>
  
  <p>Thanks</p>
  
  <p><strong>TABLE:</strong></p>
  
  <pre><code>CREATE TABLE `users` (
    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `fullname` varbinary(100) NOT NULL,
    `is_disabled` enum('Yes') DEFAULT NULL,
    `is_terminated` enum('Yes') DEFAULT NULL
    PRIMARY KEY (`id`)
  ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
  </code></pre>
  
  <p><strong>DATA:</strong></p>
  
  <pre><code>id - fullname - is_disabled              - is_terminated
  1  - User One - {this is just empty column} - NULL
  </code></pre>
  
  <p><strong>QUERY 1:</strong></p>
  
  <pre><code>SELECT id, fullname FROM users
  WHERE id = '1'
      AND
      is_disabled != 'Yes' /* is_disabled &lt;&gt; 'Yes' */
      AND
      is_terminated != 'Yes' /* is_terminated &lt;&gt; 'Yes' */
  </code></pre>
  
  <p><strong>QUERY 2:</strong></p>
  
  <pre><code>SELECT id, fullname FROM users
  WHERE id = '1'
      AND
      is_disabled = '' /* is_disabled IS NULL */
      AND
      is_terminated = '' /* is_terminated IS NULL */
  </code></pre>
  
  <p><strong>QUERY 3:</strong></p>
  
  <pre><code>SELECT id, fullname FROM users
  WHERE id = '1'
      AND
      (is_disabled = '' OR is_disabled IS NULL)
      AND
      (is_terminated = '' OR is_terminated IS NULL)
  </code></pre>