Question: I studied the solubility of compounds in water. I have found that [calcium carbonate](http://en.wikipedia.org/wiki/Calcium_carbonate) doesn't dissolve in water. The teacher stated that the ionic compounds dissolve in water except some carbonates. What would be a clear elaboration of this phenomenon?

Answer: 
As someone said here, this:

> 
> The teacher stated that the ionic compounds dissolve in water except
>  some carbonates.
> 
> 
> 

Is indeed an oversimplification. First of all, the distinction between an "ionic compound" to other compounds isn't too defined. What your teacher probably said, or didn't say but wanted to, is that some ionic compounds easily dissolve in water. Salt (halite - NaCl) is the best example.

Calcium carbonate, in nature, also commonly dissolves. It's just not as immediate as dissolution of the more soluble ionic compounds. You are probably familiar with this phenomenon:

![picture of a cave](https://i.stack.imgur.com/FMZlp.jpg)

This forms *because* calcium carbonate dissolves. The rock is limestone, which is usually composed of pure calcium carbonate. Acidic water greatly enhances the solubility of calcium carbonate, and it doesn't even need to be highly acidic. Rain or river water that come into contact with the atmosphere absorb the $\ce{CO2}$ as $$\ce{H2O + CO2 <=> H2CO3},$$ which then facilitates calcium carbonate dissolution with $$\ce{CaCO3 + H2CO3 <=> Ca^2+ + 2HCO3-}.$$
To be very honest with you, it's almost impossible to predict accurately, the solubility of compounds. At the end of the day, it's best to memorize them. Yes, there are some cases wherein a certain logic or reasoning can be used, but mostly its better to just memorize the thing. As Abel said, it comes down to a difficult interplay of lattice enthalpy, and hydration energy.