Ja.
Varför? Värdet på pe.pqid
är NULL
(som är pe.uid
) när det inte finns någon matchning. Så jämförelsen i where
sats misslyckas (nästan alla jämförelser med NULL
returnera NULL
vilket anses vara falskt).
Lösningen är att flytta jämförelsen till on
klausul:
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