Ya. where
klausa mengubah gabungan luar kiri menjadi gabungan dalam.
Mengapa? Nilai pe.pqid
adalah NULL
(seperti pe.uid
) ketika tidak ada kecocokan. Jadi perbandingan di where
klausa gagal (hampir semua perbandingan dengan NULL
kembalikan NULL
yang dianggap salah).
Solusinya adalah memindahkan perbandingan ke on
klausa:
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