We study the structure of finite quandles in terms of subquandles. Every finite quandle Q decomposes in a natural way as a union of disjoint Q-complemented subquandles; this decomposition coincides with the usual orbit decomposition of Q. Conversely, the structure of a finite quandle with a given orbit decomposition is determined by its structure maps. We describe an algorithm for finding quandle structures on a disjoint union of quandles.