Un join interno è un join in cui gli unici risultati visualizzati sono risultati in cui le chiavi si trovano in entrambe le tabelle. Un join esterno visualizzerà i risultati per tutti i tasti in una tabella, un join sinistro dal primo e un join destro dal secondo. Per esempio:
Supponiamo che table1 abbia le seguenti chiavi primarie e coppie di dati: (1, a), (2, b), (3, c)
Supponiamo anche che table2 abbia le seguenti chiavi primarie e coppie di dati: (1, fun), (3, can), (4, succede)
Quindi un join interno da table1 a table2 sulle chiavi primarie produrrebbe le seguenti terzine risultanti (con prima la chiave primaria comune, la seconda seconda voce della prima tabella e la terza seconda voce della seconda tabella): (1, a, fun), ( 3, c, can)
Un join esterno sinistro da table1 a table2 sulle chiavi primarie produrrebbe le seguenti terzine risultanti (stesso formato come sopra): (1, a, fun), (2, b, NULL), (3, c, can)
Un join esterno destro da table1 a table2 sulle chiavi primarie produrrebbe le seguenti terzine risultanti (stesso formato come sopra): (1, a, fun), (3, c, can), (4, NULL, succede)
Spero che questo spieghi bene il concetto.