Come creare una relazione tra due tabelle senza una corrispondenza tra i campi di JOIN?
Home > SQL > F.A.Q. > Come creare una relazione tra due tabelle senza una corrispondenza tra i campi di JOIN?
A tal fine è possibile utilizzare (al posto di una INNER JOIN) una LEFT JOIN oppure una RIGHT JOIN.
In questo modo i dati vengono estratti anche se non vi è corrispondenza esatta tra i campi utilizzati per definire la relazione.
Facciamo un esempio:
SELECT * FROM libri LEFT JOIN autori ON libri.autore_id = autori.id WHERE libri.id > 0In questo caso la LEFT JOIN mostrerà tutti i record della tabella "libri" a prescindere che vi sia corrispondenza o meno con la tabella "autori".
Per dirla facile: se un libro fosse "senza autore" cioè con "autore_id = 0" verrebbe mostrato ugualmente pur non essendoci materialmente corrispondenza con la tabella "autori" (in quanto priva di id = 0).
');







