There are three requirements a body of water has to meet in order for it to be inhabitable for fish: food, oxygen, and cover. Luckily, most every river, lake, or pond meets those criteria, so wherever you are, you can be pretty certain they’re there. Now you just have to find them!
Different kinds of fish tolerate different kinds of environmental conditions. Some of these include differing levels of salt, amounts of oxygen, types and amounts of food, water temperature, and hiding areas. The most distinguishing element of fish is salt; most fish are either the saltwater or freshwater kind (although there are a few exceptions).
Freshwater ponds, reservoirs, and rivers contain significantly less salt than the ocean. North America has a majority of freshwater bodies. Some of the fish that you will find in these freshwater bodies are the bluegill, carp, catfish, crappie, and bass. The more popular saltwater fish are the bluefish, cod, sea trout, tuna, and flounder.
Another factor that weighs heavily on where you will find certain fish is oxygen. All fish must have a certain level of oxygen to survive. Some fish, such as carp, survive on less oxygen than fish like trout. The living plants within a lake or stream directly affect the amount of oxygen in the water; they add oxygen to the water through photosynthesis.
Oxygen also makes its way into water from the surrounding air. You will find certain fish in certain bodies of water based on what kind of food is present there. All fish need to eat, so the amount of competition with other fish is a factor that determines which fish will be found in certain areas.
The next factor is temperature. Some fish are flexible and have the ability to live in a wide range of temperatures. Other fish, however, need either cold or warm water to survive. Trout is a perfect example of this distinction. You will only find trout in cold water. Your best bet for finding a certain type of fish is to learn about the type of water it prefers (temperature-wise, salt level-wise, etc).
We, as humans, can control one factor when it comes to where fish live. Water quality often determines where fish will thrive, and we have the means to ensure a high level of water quality. High-quality water will (obviously) support more species of fish than water that’s polluted, stagnant, or lacking sufficient oxygen.