We construct merger trees from the largest database of dark matter haloes to date provided by the Millennium simulation to quantify the merger rates of haloes over a broad range of descendant halo mass (1e12 < M0 < 1e15 Msun), progenitor mass ratio (1e-3 < xi < 1), and redshift (0 < z < 6). We find the mean merger rate per halo, B/n, to have very simple dependence on M0, xi, and z, and propose a universal fitting form for B/n that is accurate to 10-20%. Overall, B/n depends very weakly on the halo mass (proportional to M0^0.08) and scales as a power law in the progenitor mass ratio (proportional to xi^-2) for minor mergers (xi < 0.1) with a mild upturn for major mergers. As a function of time, we find the merger rate per Gyr to evolve as (1+z)^n with n=2-2.3, while the rate per unit redshift is nearly independent of z. Several tests are performed to assess how our merger rates are affected by, e.g. the time interval between Millennium outputs, binary vs multiple progenitor mergers, and mass conservation and diffuse accretion during mergers. In particular, we find halo fragmentations to be a general issue in merger tree construction from N-body simulations and compare two methods for handling these events. We compare our results with predictions of two analytical models for halo mergers based on the Extended Press-Schechter (EPS) model and the coagulation theory. We find the EPS model to overpredict the major merger rates and underpredict the minor merger rates by up to a factor of a few.