yo,
den fehler, wie die beiden tabellen miteinander verknüpft sind, den hat dir Vinzenz schon gesagt. aber ich will noch mal auf die query eingehen, weil es einen fallstrick mit dem OUTER JOIN gibt. und zwar müssen alle bedingungen der zweiten tabelle mit in die JOIN bedingung.
SELECT tab1.name, tab1.sex, tab1.plz tab2.ort
FROM tab1
LEFT JOIN tab2 ON (tab1.plz = tab2.plz AND ort LIKE 'm%')
WHERE tab1.sex = 'm'
Ilja