Sequence of reading the data of a SQL Server ?

I want to know about the reading sequence of SQL server that, does a SQL server always read the data from the hard drive put it into the Ram and then work on it?For Example: you have just done a very complex join and after that you will getting data from number of tables (the material is unsorted), then you do an order by to sort it,Does all that data have to be read first in the RAM ,and then SQL does sorting?if YES then what if there are million of rows?
