Can anyone explain the difference between the three sentences below and also the use of the grammar?
わたしのがっこう は 日本人の せんせい が います。
わたしのがっこう に 日本人の せんせい が います。
わたしのがっこう には 日本人の せんせい が います。
Simply speaking, for this example, は emphasizes the topic of the sentence, に emphasizes the concept of location, and には emphasizes the location as the topic.
Translating your three examples, which correspond to は, に, and には, we get:
All three are grammatically correct, but have slightly different nuances to them.
Grammatical explanation is this は in your sentence is a topic marker, this に is used as a postpositional particle which indicate place and this には is a compound word of に and は and this は is emphasis.
If you use は as a topic marker, the meaning of the sentence 1 and 2 is almost same but if you can use は as contrast and emphasis, the sentence 1 and 3 have the meaning.