Data warehouse is different to the other 2. It is a place to store your data, typically extracted from your main transactional systems to provide fast and consistent delivery of Data for reporting.
The other 2 can probably mean different things to different people. My view is Data mining is more about digging into the data looking for stuff that you maybe don’t even know exists. Eg patterns of buyer behaviour. Data Analysis is a broader term meaning to look at and analyse data generally to show trends, changes, exceptions etc.
Its a fine line, but I think Analysis is “I know we performed better or worse than last year - which is it. Data mining is more like “customers that buy X.... I wonder what else they buy.