The dense deployment of small-cell base stations in HetSNets requires efficient resource allocation techniques. More precisely, the problem of associating users to SBSs must be revised and carefully studied. This problem is NP-hard and requires solving an integer optimization problem.In order to efficiently solve this problem, we model it using non-cooperative game theory. First, we design two non-cooperative games to solve the problem and show the existence of pure Nash equilibria (PNE) in both games. These equilibria are shown to be far from the social optimum.Hence, we propose a better game design in order to approach this optimum. This new game is proved to have no PNE in general. However, simulations show, for Rayleigh fading channels, that a PNE always exists for all instances of the game. In addition, we show that its prices of anarchy and stability are close to one. We propose a best response dynamics (BRD) algorithm that converges to a PNE when it exists. Because of the high information exchange of BRD, a completely distributed algorithm, based on the theory of learning, is proposed. Simulations show that this algorithm has tight-to-optimal performance and further it converges to a PNE (when existing) with high probability.