Sì. Il where La clausola sta trasformando il join esterno sinistro in un join interno.
Come mai? Il valore di pe.pqid è NULL (come pe.uid ) quando non c'è corrispondenza. Quindi il confronto nel where clausola fallisce (quasi tutti i confronti con NULL restituisce NULL che è considerato falso).
La soluzione è spostare il confronto su on clausola:
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