Yes, you are right. You can only select columns in the primary table, and can not get specific columns in the joined tables. What you need is join. use join and '+select','+as' property, you can select special columns from two tables.
Prefetch is used to select all columns from the prefetch tables as well. It is more efficient to use prefetch when you actually need those columns, e.g. so you can do $cd->artist->name without needing it to do the additional query. But if you don't need those columns then you have an unnecessary performance hit for loading up that data.