How to determine order of nucleophilicity among commonly used nucleophiles?
The relative strengths of nucleophiles can be correlated with three structural features:


A negatively charged nucleophile is always a more reactive nucleophile than its conjugate
acid. Thus $\ce{HO^-}$ is a better nucleophile than $\ce{H_2O}$ and $\ce{RO^-}$ is better than $\ce{ROH}$.
In a group of nucleophiles in which the nucleophilic atom is the same, nucleophilicities parallel basicities. Oxygen compounds, for example, show the following order of reactivity:
$$\ce{RO^- &gt; HO^- &gt;&gt; RCO_2^- &gt; ROH &gt; H2O}$$
This is also their order of basicity. An alkoxide ion ($\ce{RO-}$) is a slightly stronger base than a hydroxide ion ($\ce{HO^-}$), a hydroxide ion is a much stronger base than a carboxylate ion ($\ce{RCO2^-}$), and so on.
When the nucleophilic atoms are different, nucleophilicities may not parallel
basicities. For example, in protic solvents $\ce{HS, CN}$, and $\ce{I}$ are all weaker bases than $\ce{HO^-}$, yet they are stronger nucleophiles than $\ce{HO^-}$.
$$\ce{HS^- &gt; CN^- &gt;  I^- &gt; HO^-}$$


Nucleophilicity versus Basicity: While nucleophilicity and basicity are related, they are not measured in the same way. Basicity, as expressed by $\mathrm{p}K_\mathrm{a}$, is measured by the position of an equilibrium involving an electron pair donor (base), a proton, the conjugate acid, and the conjugate base. Nucleophilicity is measured by relative rates of reaction, by how rapidly an electron pair donor reacts at an atom (usually carbon) bearing a leaving group.

For example, the hydroxide ion $\ce{OH^-}$ is a stronger base than a cyanide ion $\ce{CN^-}$; at equilibrium it has the greater affinity for a proton ($\mathrm{p}K_\mathrm{a}(\ce{H_2O})= 16$, while $\mathrm{p}K_\mathrm{a}(\ce{HCN})= 10$). Nevertheless, cyanide ion is a stronger nucleophile; it reacts more rapidly with a carbon bearing a leaving group than does hydroxide ion.