Knowledge Base Question Answering (KBQA) has become one of recent trends in Natural Language Processing (NLP). It helps solve question answering tasks in many fields, such as commerce, medical treatment, etc. This article represents research of KBQA from theory to practice. The concept of knowledge graph in a new way are defined, the steps for building a basic knowledge graph are listed. The category of knowledge base is generalized. This article analyzes the category of knowledge based on systems and introduces the definition and working principle of KBQA. This article also introduces two main approaches used in KBQA, Information Retrieval-based (IR-based) methods and Semantic Parsing-based (SP-based) methods, including summarizing pipeline frameworks of these two approaches and the comparison between them. Two successful applications of KBQA, Meituan and AliMe, including researching on the schema of knowledge graph and pipeline frameworks are discussed in this article. Moreover, this article analyzes the applicable scenes of the two applications and analyzes the main challenges of KBQA.