joining two objects distorts procedural texture
Right of the bat, I must say that your use of 'Texture coordinate' node as a texture/color input is not in line with its intended purpose. Anyway, the problem here is, all the texture input nodes (noise and voronoi ) don't have their 'vector' inputs connected. So by default, they take 'generated' as the texture coordinates input. And generated texture coordinates work based on the bounding box of the object.This is a problem in our case because when we join the objects, the objects bounding box (black lined box) increases as shown here.. 
Inorder to have similar marble effect even after joining, we have to scale the texture proportionately. This could be done using texture 'mapping' node under (Vector>Mapping). Here are the steps.


Before joining the parts, note down the marble globe bounding box dimensions.You can find these in properties panel (Hot key 'N') under dimensions section, while the marble globe is selected (as shown below).
Join the two objects.Now note down the dimensions of the new object.It will be as shown.
Now in the node editor for the marble material add the 'texture mapping' node as shown here (remember we need to scale the texture). 
Now if you are wondering what the scale values in the red box are, they are basically the ratio of bounding box dimensions. For X &amp; Y: 1.66573/1.11312 = 1.49645 and for Z :3.16439/0.680168 = 4.65237


This will fix the scale and get a result very close to your initial texture. You can fiddle with the 'location' values in the texture mapping node to get a result you like. Feel free to check the attached blend file below with the implementation.