Ano. where klauzule mění levé vnější spojení na vnitřní spojení.
Proč? Hodnota pe.pqid je NULL (stejně jako pe.uid ), když není shoda. Takže porovnání v where klauzule selže (téměř všechna srovnání s NULL vrátí NULL což je považováno za nepravdivé).
Řešením je přesunout porovnání do on klauzule:
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