Covalent bonding always occurs between non-metals?. The outer shell of electrons in both atoms are not full, so the atoms try to fill them by sharing electrons between two atoms:
[Dative covalent bonding]? occurs when one atom gives both of the electrons in the bond.
see also [bond sizes]?.