In this talk, I will describe multiscale numerical methods for flows in heterogeneous porous media. The main idea of these methods is to construct local basis functions that can capture the small scale information when they are coupled via some global formulation. I will discuss the use of local boundary conditions, oversampling methods and the use of global information in constructing basis functions. Applications of these methods to stochastic equations will be also discussed. This is joint work with J. Aarnes, T. Hou, L. Jiang, V. Ginting.