左連接可能是您要查找的內容。
SELECT persons.id, persons.name, voters.personID IS NOT NULL AS hasVoted
FROM persons LEFT JOIN voters ON (persons.id = voters.personID)
WHERE persons.course = '1' AND voters.type = '2'
GROUP BY persons.id
http://dev.mysql.com/doc/refman/5.0/en/join.html
的左連接將包括聯接的左側看到所有匹配的行,並從聯接右側任意配套件。沒有匹配右側的任何左側的行將具有空值的右側列值。
至於'IS NOT NULL'或'IS NULL'被使用,因爲'X = NULL'不像它出現那樣表現。
> SELECT 'A' = NULL, 'A' IS NULL, NULL = NULL, NULL IS NULL;
+------------+-------------+-------------+--------------+
| 'A' = NULL | 'A' IS NULL | NULL = NULL | NULL IS NULL |
+------------+-------------+-------------+--------------+
| NULL | 0 | NULL | 1 |
+------------+-------------+-------------+--------------+
更多關於用null工作細節: http://dev.mysql.com/doc/refman/5.0/en/working-with-null.html
謝謝!就是我正在尋找的東西!我不知道「IS NOT NULL」部分。 – JNK
擴大了答案,以更詳細地解釋空白部分。 – rrehbein
現在我甚至可以理解左連接是如何工作的!你今天真的幫了我! – JNK