When creating a lookup column it is possible to select additional fields. Does SharePoint store the values of these additional fields in the "child" list, or is a database join performed every time a view containing the additional fields is accessed?
These additional columns work exactly as if they were lookups themselves, but instead of creating them separately, you can do it in same operation. So, for example, if you create 'LookupCol1' and bring additional fields from parent list 'Title' & 'Created', these will be stored in the child list as 'LookupCol1_x003a_Title' and 'LookupCol1_x003a_Created'.
So to answer your question, they are stored in the Child list with the main lookup column acting as a foreign key. SharePoint will still use JOIN which closely resembles an SQL JOIN, but not as powerful because it will only allow 8 columns by default.