This question already has an answer here:
Look at the two books:
the second is the sequel to the first. These two books will teach you most of the stuff you will need to know. These books have a lot of exercises with solutions.
Also take a look at the classic by Hoffmann Kunze. It has lot of exercises without solutions.
The book by Axler “Linear Algebra Done Right” is decent but I will not suggest it if you are going to continue your studies towards modules as well. This book banishes determinants and polynomials in the study of linear operators. While this may be helpful over the complex field, this approach has limitations when you go to more general rings and modules.
There is another well written book “Finite Dimensional Vector spaces” by Halmos. I do not remember if it has sufficient exercises though.
For a little more advanced level, take a look at “Advanced Linear Algebra” by Steven Roman and “Matrix Analysis Vol. 1” by Horn and Johnson.
I really liked Linear Algebra Done Right by Sheldon Axler. It starts from the very beginning and contains mostly proof questions; but unfortunately there are no solutions.
A book that is absolutely terrific for self-study is Halmos’s Linear Algebra Problem Book. It’s a bit different from most other introductory linear algebra books and it’s definitely worth a look. Basically it is about 300 pages of carefully crafted problems with hints and complete solutions. All theory is presented as problems and is then further explained in the solutions. I think it’s a very nice approach.
Lang’s Linear Algebra starts at the very beginning and covers stuff in depth.
Just an empiric, maybe a little bit personal, paranoic, exagerrated (and not so serious) piece of advice. Take any Linear Algebra book and look at the definition the author gives of a matrix. If it is something that sounds like “A $m\times n$ matrix (over a field) is an array of scalars (numbers) with $m$ rows and $n$ columns” and so on, try to look at another book. If after a while you still can’t find anything which gives a different definition for a matrix (and I doubt you will so easily), then pick one of the textbook suggested so far (actually I haven’t checked if some of them provides another definition for a matrix). But if you find one which seems to disagree with the fact that a matrix has to be defined as an array of numbers, it might be worth to try and read it.
I would recommend, arranged somewhat in order of difficulty/sophistication, that you take a look at:
1) Strang Linear Algebra and its Applications (don’t forget the MIT OCW lectures)
2) Paul Halmos Finite Dimensional Vector Spaces (the recommendation for his problem book is also good)
3) Hoffman & Kunze Linear Algebra
4) Shafarevich Linear Algebra and Geometry
5) Roman Advanced Linear Algebra
A nice, cheap alternative to Halmos and Hoffman would be Shilov’s text published by Dover. There are also nice books that have linear algebra integrated with other material such as Apostol’s Calculus (which I highly recommend), Hubbard’s vector calculus text or Artin’s abstract algebra text.