The s, p-d exchange coupling between the spins of band carriers and of transition metal (TM) dopants ranging from Ti to Cu in ZnO is studied within the density functional theory. The +U corrections are included to reproduce the experimental ZnO band gap and the dopant levels. The p- d coupling reveals unexpectedly complex features. In particular, (i) the p-d coupling constants N0β vary about 10 times when going from V to Cu, (ii) not only the value but also the sign of N0β depends on the charge state of the dopant, (iii) the p-d coupling with the heavy holes and the light holes is not the same; in the case of Fe, Co and Ni, N0βs for the two subbands can differ twice, and for Cu the opposite sign of the coupling is found for light and heavy holes. The main features of the p-d coupling are determined by the p-d hybridization between the d(TM) and p(O) orbitals. In contrast, the s-d coupling constant N0α is almost the same for all TM ions, and does not depend on the charge state of the dopant. The TM-induced spin polarization of the p(O) orbitals contributes to the s-d coupling, enhancing N0α.