Joins are dynamic. You can join any table to any table based on the content of any column's rows.
All a JOIN does is say: connect these rows wherever these values are equal.
Example
Company
ID/Companyname
1/Company1
2/Compay2
3/Company3
Person
ID/firstname/companyid
1/Joe/1
2/bob/1
3/barb/3
4/nemo/2
5/mike/3
SELECT firstname, companyname
FROM Person, Company
WHERE company.id=companyid
Joe/Comany1
Bob/Company1
barb/Company3
nemo/Company2
mike/Company3
How this works is dynamically:
Let's suppose company3 changes its name to BIG3!
nemo changes his name TheNemester
Barb starts to work for company2
After the values are updated in their respective tables:
SELECT firstname, companyname
FROM Person, Company
WHERE company.id=companyid
Joe/Comany1
Bob/Company1
barb/Company2
TheNemester/Company2
mike/BIG3!!
Make sense?