In uw vraag;
SELECT *
FROM phonetype
LEFT JOIN phone
ON phonetype.phonetypeID=phone.phonetypeID
where phone.peopleID = ?
...de WHERE
clausule met een voorwaarde in de meest rechtse tabel verwijdert alle rijen waar de meest rechtse tabel geen waarde heeft, waardoor de LEFT JOIN
wordt genegeerd .
Wat u waarschijnlijk wilt, is de voorwaarde toevoegen aan de LEFT JOIN
's ON
clausule in plaats daarvan, waardoor de lege waarden van phone
om nog steeds te verschijnen;
SELECT *
FROM phonetype
LEFT JOIN phone
ON phonetype.phonetypeID=phone.phonetypeID
AND phone.peopleID = ?