Como juntar matrizes com MySQL de 3 tabelas de relacionamento muitos para muitos

Criei um banco de dados mySQL com o phpMyAdmin no meu servidor local. Neste banco de dados, guardo os nomes e as equipes favoritas da NBA dos meus amigos. Esse é obviamente um relacionamento de muitos para muitos. Por esse motivo, eu executo o script seguido no MySQL para criar as tabelas apropriadas para este banco de dados:

CREATE TABLE `friends` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
)

CREATE TABLE `teams` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `name` varchar(30) NOT NULL,
  PRIMARY KEY (`id`)
)

CREATE TABLE `relations` (
  `friends_id` int(4) NOT NULL,
  `teams_id` int(4) NOT NULL,
)

Obviamente, inseri alguns valores nessas tabelas, mas não forneço extensivamente o código-fonte aqui para economizar espaço. Um pequeno pedaço é o seguinte:

INSERT INTO `friends` (`id`, `name`)
VALUES
    (1,'David Belton'),
    (2,'Alex James');

INSERT INTO `teams` (`id`, `name`)
VALUES
    (1,'Cleveland Cavaliers'),
    (2,'Boston Celtics');

INSERT INTO `relations` (`friends_id`, `teams_id`)
VALUES
    (1,1),
    (2,1),
    (2,2);

Depois de executar um script PHP que busca os dados do banco de dados e os imprime, quero ter o seguinte tipo de saída json válida para cada um dos meus amigos:

{
    "id": "1",
    "name": "Alex James",
    "team": ["Boston Celtics", "Cleveland Cavaliers"] 
}

Como posso criar esse conjunto de equipes favoritas para cada pessoa com o MySQL?

P.S. Suponho que seja melhor fazer isso no MySQL antes que os dados sejam recuperados com PHP.

questionAnswers(1)

yourAnswerToTheQuestion