1
resposta

Outra forma de fazer a query

Ju, consegui obter o mesmo resultado sem realizar duas querys. Não sei se é a melhor forma ou mais performática. Abaixo segue a query:

const sql = SELECT distinct
    C.id, C.nome nome,C.cpf cpf, P.nome petNome, P.tipo petTipo,
    P.observacoes petObservacoes
  FROM Clientes C INNER JOIN Pets P ON C.id=P.donoId WHERE C.id=${id}

  return executaQuery(sql)
      .then(clientes => ({
          id: clientes[0].id,
          nome: clientes[0].nome,
          cpf: clientes[0].cpf,
          pets: clientes.map(cliente => ({
            nome: cliente.petNome,
            tipo: cliente.petTipo,
            observacoes: cliente.petObservacoes
          }))
        })
      )
1 resposta

Boa tarde! Ela é melhor e mais performática sim! Como as consultas feitas pelo sql são otimizadas, todo o processamento de consulta que conseguirmos colocar nele é melhor. No curso, por didática, não coloquei pra não exigir conhecimento prévio do aluno mas, no geral, a query que você fez está muito melhor :)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software