Ja. De where clausule verandert de linker outer join in een inner join.
Waarom? De waarde van pe.pqid is NULL (zoals pe.uid ) als er geen overeenkomst is. Dus de vergelijking in de where clausule mislukt (bijna alle vergelijkingen met NULL return NULL wat als onwaar wordt beschouwd).
De oplossing is om de vergelijking te verplaatsen naar de on clausule:
SELECT pq.id, pq.data, pe.data
FROM pq LEFT OUTER JOIN
pe
ON pq.id = pe.pqid and
pe.uid='12345'
ORDER BY pq.id LIMIT 2