Sí. El where
cláusula está convirtiendo la combinación externa izquierda en una combinación interna.
¿Por qué? El valor de pe.pqid
es NULL
(como es pe.uid
) cuando no hay coincidencia. Así que la comparación en el where
la cláusula falla (casi todas las comparaciones con NULL
devuelve NULL
que se considera falso).
La solución es mover la comparación a on
cláusula:
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