Prepositions to use when indicating locations [duplicate]

Possible Duplicate:
When should I use “in” or “on”?

I am always confused with the prepositions to use when indicating an event happening at a place. Should I use "at" or "in" or "on"?

For example:

We had our dinner at the McDonalds at/in the shopping centre at/on Sixth Avenue.

The McDonalds restaurant is in the shopping centre. The shopping centre is located at Sixth Avenue. So am I right to say "the McDonalds in the shopping centre at Sixth Avenue"?

Now, what if it was a street instead of an avenue? Say for example:

We had our dinner at the McDonalds at/in the shopping centre at/on Coral Street.

Here, somehow, I find it natural to say "the McDonalds at the shopping centre on Coral Street".

How do I determine the right prepositions to use? And how would the different prepositions give different meanings to the sentence?


These can get tricky as the conventions aren't always consistent. But in general, we use "in" when A is inside B, that is, physically surrounded by it. We use "on" when A is on top of B. We use "at" when A is beside or otherwise near B.

That said, your example immediately brings up a couple of special cases:

  1. A building is said to be "on" a road if it is along side the road. That is, it doesn't have to be sitting in the middle of the street to be "on the road". I guess it's consistent if you think of the road as not just the place where the cars drive but as extending under the buildings.

  2. Even though you normally go inside a restaurant to eat, we don't normally say "I ate in the restaurant", but "I ate at the restaurant". Similarly for most other things normally done in a building, but where you are referring to it as an organization more than as a building: "I work at XYZ Company", "I shop at Bargain Mart", etc. We use "in" only when we are specifically referring to the building. Like, "Do you want to eat in the restuarant or on the patio?" "I live in an apartment." Etc.

So, assuming the McDonalds is in the mall and the mall's address is Sixth Avenue, you would say, "We had dinner at McDonalds in the mall on Sixth Avenue."

You still say "on" whether it's avenue, street, road, or whatever. I can't think of any type of road designation that would make it different.

Note that if you want to say that a location is near a certain intersection, you will say "at Elm Street" or whatever the street is. Like, "The mall is on Sixth Avenue at Elm Street" means that the mall is along Sixth Avenue near the intersection with Elm Street.

Also, "in" can be used in both a 2-dimentional and a 3-dimensional sense. That is, you are "in a building", but you are also "in a city" and "in a province".

And there are always exceptions. Like you ride "in a car", but it is common to say you flew "on a plane" even though you were not a dare-devil clinging to the top as it flew but were actually inside.


YMMV, however my inclination is that while both options are acceptable, each has different connotations. So,

We had our dinner at the McDonalds at the shopping centre on Sixth Avenue.

This tells me that McDonalds is located near the shopping centre, but not necessarily in it. It also tells me that the shopping centre is either a group of shops facing the street, or a big building containing lots of shops with frontage on Sixth Avenue.

We had our dinner at the McDonalds in the shopping centre at Coral Street.

This tells me that McDonalds is physically located inside the shopping centre, i.e. that you enter the shopping centre, then the McDonalds; and that the shopping centre is more of a sort of blob in the general vicinity of Coral Street.

In both cases, 'at' implies less precision than 'in' or 'on'.

The only other thing I would say is that using 'at' in both places would sound awkward, especially as it would make three uses of 'at' in the sentence.