Both 에 and 에서 are both 조사(助詞 - Particle)1 used after a noun, used to describe a location.
에 is a 조사 that describes 상태(狀態 - state of being).1 에서 is a 조사 that describes 행동(行動 - state of action).1
For 에, there are limited number of 서술어(敍述語 - Predicate) that can be used after it. Common examples include:
- 서다 (to stand)
- 앉다 (to sit)
- 눕다 (to lie down)
- 없다 (to have nothing? Not sure about a concise translation for this)
- And, in your example, 있다 (to be/to have).
Think of the House of Essere/Être in Italian/French.
에 is used for verbs that describe 상태. Adjectives do not need 에, as they inherently describe things. For the said verbs that use 에/에서, the question of the verb in question having 지속성(持續性 - Continuousness)1 of 행동 is taken into the account when differentiating between 에 and 에서's usage.
Since 에 describes a state of being, it is not considered to have "Continousness of Action."
Since 에서 is a 조사 that describes a state of action, it can be used with many verbs that act as 서술어. Those verbs describe action, and therefore they are considered to have "Continousness of Action." E.g.:
- 집에 있다 - I am at the house. (집 = Location; 있다 = Adjective)
- 집에서 책을 읽고 있다 -> 집에서 책을 읽다 - I am reading a book at the house. (집 = Location; 읽다 = Verb)
So, in conclusion:
- 에 = Location + State of Being
- 에서 = Location + State of Action
From this, we can infer that: 에 can be used with Adjectives, and that 에서 cannot be used with Adjectives.
살다, unusually, can be used with both 에 and 에서:
- 저는 미국에 살아요/저는 미국에서 살아요 - I am living in America.
Although, the connotations are different; 저는 미국에 살아요 implies that your current residence is America. 저는 미국에서 살아요 implies that you live in America, doing all sorts of living activities (eating and sleeping for example).
EDIT:
Upon researching more into the topic, the nuances between 에 and 에서 appears to go deeper than I thought.
Second difference between 에 and 에서:
Using 에 indicates no specific action; the object(person) in question is assigned to a specific location.
Provided that there is an explicitly stated state of action within the sentence, using 에서 expresses the following:
a. The ability for the person in question to designate a specific location.
b. The fact that the person in question is not assigned to a specific location.
Here are some examples, the same ones I used above:
저는 미국에 살아요 - "I am living in America." Here, 에 indicates that you're physically located in America, which fits the definition of 상태. This is what I meant by saying that the person in question is assigned to a specific location: this sentence assigns America as the speaker's location.
저는 미국에서 살아요 - "I am living in America." Here, 에서 indicates that you've been continuously living (as in an action of living - to live) in America, and gives the word 살다(to live) the connotation of 활성화(活性化 - Vitalization). It also indicates the ability for the person in question (the speaker, in this specific example) to freely select the location.
Third difference between 에 and 에서:
Using 에 indicates the following:
a. The person in question becoming physically closer to the location.
b. The person in question starting their movement toward the location.
c. The location becoming the designated destination of the person in question.
Using 에서 indicates the following:
a. The person in question becoming physically distant from the location.
b. The person in question starting their movement from the location.
These are examples given by 파울울:
집에 가요 - "I'm going home" - As it uses 에, this indicates the speaker's designated destination as his home.
짐에서 착을 읽어요 - "I'm reading a book at home" - 에서 indicates a state of action, which is 읽다(to read).
짐에서 나갔어요 - "I left from my home" - 에서 indicates that the speaker physically left the location, traveling from his home.
1: This is my own translation. Take it with a grain of salt.