Wireless sensor networks (WSNs) are a collection of several small and inexpensive battery-powered nodes, commonly used to monitor regions of interests and to collect data from the environment. Several issues exist in routing data packets through WSN, but the most crucial problem is energy. There are a number of routing approaches in WSNs that address the issue of energy by the use of different energy-efficient methods. This paper, presents a brief summary of routing and related issues in WSNs. The most recent energy-efficient data routing approaches are reviewed and categorized based on their aims and methodologies. The traditional battery based energy sources for sensor nodes and the conventional energy harvesting mechanisms that are widely used to in energy replenishment in WSN are reviewed. Then a new emerging energy harvesting technology that uses piezoelectric nanogenerators to supply power to nanosensor; the type of sensors that cannot be charged by conventional energy harvesters are explained. The energy consumption reduction routing strategies in WSN are also discussed. Furthermore, comparisons of the variety of energy harvesting mechanisms and battery power routing protocols that have been discussed are presented, eliciting their advantages, disadvantages and their specific feature. Finally, a highlight of the challenges and future works in this research domain is presented.