We consider the multi-way relay channel with common messages and full data exchange, where multiple users exchange correlated messages through a relay. We propose an optimal coding scheme and show that it achieves (i) the capacity region if the uplink is a finite-field channel and the downlink is any arbitrary channel and (ii) the full degrees-of-freedom region if the channel is a multiple-input multiple-output (MIMO) additive white Gaussian noise (AWGN) channel.