Keira, in the example you are describing, there is no need for a join; only two queries.
A join is more appropriate when you have a relation between two tables. For example, imagine I have three tables.
An Actors table with just two fields, actorId (primary key) and actorName.
A Movies table with just two fields, movieId (primary key) and movieName.
An Acted table with just three fields, id (primary key) actorId and movieId.
Now the Actors table would be filled with actors and actresses but nothing about their movie work. Movies would be filled movies, but no information on who acted in them. The Acted table bridges the two and has a relationship with both.
So let's say we had a movie, Jaws and we wanted to find out all the actors in it.
PHP Code:
SELECT m.movieName, a.actorName, c.* FROM Movies m INNER JOIN Acted c on m.movieId = c.movieId INNER JOIN Actors a on a.actorId = c.actorId WHERE m.movieName = 'Jaws'
Now this is a bit more complex example than I needed (sorry, thought it up on the fly) because it has two joins rather than one. The final result will be a result set with 5 fields, or columns: movieName (Jaws), actorName (containing all the actors in the movie) and the three fields from the Acted table (which aren't necessary, but I included them as an illustration of the concept).
I hope I helped rather than made it worse.....
But in your example, you have two similar tables who really don't have a relationship with each other, right? They are independent lists of properties? I'm making that assumption. If that is the case, then you can get a complete list of properties of a given property type by running two separate queries.