Salve,
ho un problema davvero davvero strano partendo dai solito dati (vedi in calce),
quando eseguo una query sulla mia macchina con mysql versione 5.0.37 ho un risulatato diverso da quello che mi da il server mysql versione 5.0.22.

-------------------------------------------------------------------------------------
In pratica rissumo un esempio a l'osso:

questa è la struttura delle mie tabelle con i dati
tabella persona
id, nome
1, Marco
2, Simone

tabella lingua
id, lingua
1, Inglese
2, Francese

tabella persona_lingua
id, id_persona, id_lingua
1, 1, 1

-------------------------------------------------------------------------------------

questa è la query in questione:

SELECT persona.id, lingua. *
FROM (
(
persona
LEFT JOIN persona_lingua ON persona.id = persona_lingua.id_persona
)
LEFT JOIN lingua ON lingua.id = persona_lingua.id_lingua
)
WHERE lingua.id = -1 OR -1 = -1

lo so la condizione non ha sense, ma è solo per riportare il problema a l'osso

-------------------------------------------------------------------------------------

sulla mia macchina con la versione 5.0.37 ho questo risultato:

id lingua
1 Inglese
2 NULL

sul server con la versione 5.0.22 ho questo risultato:

id lingua
1 Inglese

la cosa a me pare veramente strana per quanto riguarda il risultato del server

ringrazio anticipatamente chi vorrà aiutarmi nella risoluzione di questo problema

-------------------------------------------------------------------------------------

qui sotto riporto l'SQL per le buon anime che volessero fare delle prove:

CREATE TABLE `persona` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nome` VARCHAR( 50 ) NULL
) ENGINE = MYISAM;

INSERT INTO `persona`
(`id` ,`nome`)
VALUES ('1', 'Marco'), ('2', 'Simone');


CREATE TABLE `lingua` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`lingua` VARCHAR( 50 ) NULL
) ENGINE = MYISAM;

INSERT INTO `lingua`
(`id` ,`lingua`)
VALUES ('1', 'Inglese'), ('2', 'Francese');


CREATE TABLE `persona_lingua` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`id_persona` INT( 11 ) NULL ,
`id_lingua` INT( 11 ) NULL
) ENGINE = MYISAM;

INSERT INTO `test`.`persona_lingua`
(`id` ,`id_persona` ,`id_lingua`)
VALUES ('1', '1', '1');

SELECT persona.id, lingua.lingua
FROM ((persona
LEFT JOIN persona_lingua ON persona.id = persona_lingua.id_persona)
LEFT JOIN lingua ON lingua.id = persona_lingua.id_lingua)
WHERE lingua.id = -1 OR -1 = -1;