Why split at all
One table per idea. Names in one table, cities in another, and a number that links them. You repeat the link number many times, but you write each fact once. When a fact changes, you change it in one place, not down every row. This is what a database buys you over a single flat file.
JOIN needs ON
A JOIN without ON would match every row of one table against every row of the other, which is a square of the sizes and almost never what you want. ON is the rule that says which rows belong together. Forgetting it is not an error, it is a huge wrong answer, and that is why it is worth pausing on.