Skip to main content
Build the future with Agentforce at TDX in San Francisco or on Salesforce+ on March 5–6. Register now.

Consultar dados com SQL

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:

  • Definir SQL e porque é usado.
  • Usar SQL no Marketing Cloud Engagement.
  • Identificar as melhores práticas para usar SQL.

O que é SQL?

Você migrou para o Marketing Cloud Engagement, desempacotou e até começou a organizar seu espaço. Vamos agora aos toques finais. Como mencionamos anteriormente, as extensões de dados do Marketing Cloud Engagement e o Contact Builder usam um banco de dados relacional. Portanto, você precisa de uma boa maneira de obter todos esses dados valiosos. Apresentamos: Structured Query Language (ou SQL), uma linguagem específica de domínio que pode fazer exatamente isso. No Marketing Cloud Engagement, uma atividade de consulta SQL é usada para executar consultas e recuperar dados para geração de relatórios ou segmentação de públicos. 

Usar SQL no Marketing Cloud Engagement

Primeiro, vamos analisar como alguns comandos de SQL específicos são usados no Marketing Cloud Engagement.

  • SELECT: comando para localizar dados em um banco de dados
  • FROM (DE): local onde os dados residem no Marketing Cloud Engagement (geralmente uma extensão de dados)
  • JOIN: permite que a consulta pesquise várias tabelas e/ou extensões de dados
  • WHERE: usado para filtrar dados que você deseja/não deseja

Veja aqui um exemplo.

SELECT
 emailaddress as ‘Email_Address’, favoritecolor as ‘Favorite_Color’
FROM
 [MasterData Extension] 
m
INNER JOIN
 JuneMarketingSend 
j
ON

 

m
.emailaddress = 
j
.emailaddress
WHERE
m
.emailaddress is not NULL

Precisa de tradução? A execução dessa consulta recupera o email e a cor favorita da extensão de dados mestre e os une a quaisquer endereços de email correspondentes do envio de marketing de junho. Além disso, retorna apenas emails que não estão faltando. Note também o m e o j. Esses são aliases da SQL usados para fornecer um nome temporário a uma tabela ou a um campo de uma tabela. Eles são especialmente úteis quando você tem um nome de campo comum entre extensões de dados, como CustomerID ou EmailAddress. Você também poderá vê-los escritos como o seguinte.

SELECT
 o.OrderID, o.OrderDate, c.CustomerName
FROM
 Customers AS c, Orders AS o
WHERE
 c.CustomerID=o.CustomerID
Observação

Os comandos SQL não diferenciam maiúsculas de minúsculas: select é igual a SELECT.

Exibições de dados do SQL

As exibições de dados do sistema são consultas criadas pelo Salesforce que você pode usar para encontrar informações sobre seus assinantes. Lembre-se de que você não poderá fazer alterações nessas exibições de dados predefinidas. Veja alguns das exibições mais comumente usadas.

Exibição de dados

Consulta

Informações

Bounce (Devolução)

_bounce

Identifique e suprima endereços de email comumente devolvidos nos envios.

Click (Clicar) e Open (Abrir)

_Click


_Open

Consulte essas visualizações de dados no Automation Studio para visualizar cliques e abrir dados para emails a partir da sua conta do Marketing Cloud Engagement.

Ajuda a identificar outras oportunidades de envio de mensagens, indicando o engajamento do assinante em um JobID específico.

Complaint (Reclamação)

_Complaint

Consulte essa exibição de dados no Automation Studio para visualizar dados de reclamações relacionadas a emails de sua conta do Marketing Cloud Engagement.

Use para limpar suas listas e garantir públicos mais precisos, além de melhorar a capacidade de entrega.

Journey (Jornada)

_Journey

Encontre o status de uma jornada, a data de criação e última modificação e outras informações gerais da jornada usando esta exibição de dados do Journey Builder.

Observação

Os dados de rastreamento de cliques e aberturas são exibidos no horário padrão central, não observam o horário de verão e são arredondados para o segundo mais próximo.

Então como você usa essas exibições de dados? Primeiro, crie uma extensão de dados para armazenar os dados necessários dessas exibições, em seguida, navegue até o Automation Studio para criar uma atividade de consulta com base na tabela de exibição de dados desejada. Depois de concluir e executar a automação, a saída será armazenada na extensão de dados criada.

Aqui está um exemplo de consulta que extrai dados da exibição de dados de devolução dos últimos 6 meses e fornece SubscriberKey, JobIDs e motivos da devolução.

SELECT
 SubscriberKey,JobID,SMTPBounceReason
FROM
 _Bounce

Juntar dados com SQL

Além das exibições de dados, as consultas SQL também podem ser personalizadas para atender a diversas necessidades de negócios. Digamos que você queira enviar um email que contenha dados armazenados no log de envio e dados encontrados na extensão de dados do cliente. Para criar essas consultas, você vai querer entender o conceito de junções: pegar dados de uma fonte e juntá-los com dados de outra fonte.

As junções SQL podem ser complexas, então vamos analisar alguns cenários de junção usando um diagrama de Venn. 

Gráfico de junções SQL com diagramas 1 a 7, mostrando agrupamentos de dados de A ou B.

Vamos começar com a linha superior, conhecida como junções esquerda e direita.

Diagrama 1: junção externa esquerda

Você quer todos os registros da extensão de dados A, além dos registros correspondentes na extensão de dados B.

SELECT
 *
FROM
 DataExtension A
LEFT JOIN
 DataExtension B
ON
 A.Field = B.Field

Resultado da amostra

Extensão de dados A

Extensão de dados B

Name (Nome)

Email

Name (Nome)

Email

Joe

joe@email.com

Joe

joe@email.com

Jenn

jenn@email.com

null

null

Justin

justin@email.com

null

null

Diagrama 2: junção externa esquerda com exclusões

Nesta junção, excluímos os registros que não queremos da extensão de dados B.

SELECT
 *
FROM
 DataExtension A
LEFT JOIN
 DataExtension B
ON
 A.Field = B.Field
WHERE
 B.Field IS NULL

Resultado da amostra

Extensão de dados A

Extensão de dados B

Name (Nome)

Email

Name (Nome)

Email

Joe

joe@email.com

null

null

Jenn

jenn@email.com

null

null

Justin

justin@email.com

null

null

Diagrama 3 e 4: junções direitas

Quanto às junções direitas, elas são o inverso dos cenários anteriores.

Diagrama

Código

3

SELECT
 *
FROM
 DataExtension A
RIGHT JOIN
 DataExtension B
ON
 A.Field = B.Field

4

SELECT
 *
FROM
 DataExtension A
RIGHT JOIN
 DataExtension B
ON
 A.Field = B.Field
WHERE
 A.Field IS NULL

Agora vamos dar uma olhada nas junções internas e externas. 

Gráfico de junções SQL com diagramas 1 a 7

Diagrama 5: junção interna

Esta consulta retorna registros que possuem valores correspondentes em ambas as extensões de dados. 

SELECT
 *
FROM
 DataExtension A
INNER JOIN
 DataExtension B
ON
 A.Field = B.Field

Resultado da amostra

Extensão de dados A

Extensão de dados B

Name (Nome)

Email

Name (Nome)

Email

Joe

joe@email.com

Joe

joe@email.com

Jonathan

jonathan@email.com

Jonathan

jonathan@email.com

Diagrama 6: junção externa completa

As junções externas completas retornam todos os registros correspondentes de ambas as extensões de dados.

SELECT
 *
FROM
 DataExtension A
FULL OUTER JOIN
 DataExtension B
ON
 A.Field = B.Field

Resultado da amostra

Extensão de dados A

Extensão de dados B

Name (Nome)

Email

Name (Nome)

Email

Joe

joe@email.com

Joe

joe@email.com

Jenn

jenn@email.com

null

null

Justin

justin@email.com

null

null

null

null

Jennifer

jennifer@email.com

Jonathan

jonathan@email.com

Jonathan

jonathan@email.com

Diagrama 7: Junção externa 

Retorna todos os registros correspondentes de ambas as extensões de dados, menos os registros que não queremos.

SELECT
 *
FROM
 DataExtension A
FULL OUTER JOIN
DataExtension B
ON
 A.Field = B.Field
WHERE
 A.Field IS NULL
OR
 B.Field IS NULL

Resultado da amostra

Extensão de dados A

Extensão de dados B

Name (Nome)

Email

Name (Nome)

Email

Joe

joe@email.com

null

null

Jenn

jenn@email.com

null

null

Justin

justin@email.com

null

null

null

null

Jennifer

jennifer@email.com

null

null

Jonathan

jonathan@email.com

Observação

Tenha cuidado com junções externas, pois elas podem retornar conjuntos de resultados muito grandes.

Veja a SQL em ação

A Cloud Kicks decidiu enviar uma oferta exclusiva aos clientes que abriram um email nos últimos 6 meses e fizeram uma compra nesse período. A arquiteta de soluções Maggie Quinn precisa concluir esta tarefa usando uma consulta SQL. Vamos acompanhar. 

Maggie começa criando uma extensão de dados para armazenar as informações sobre os clientes que atendem a esses critérios. Ela então navega até o Automation Studio e segue estas etapas.

  1. Clique em New Automation (Nova automação).
  2. Selecione uma fonte inicial em Schedule (Agenda) ou File Drop (Explorador de arquivos).
  3. Arraste SQL Query (Consulta SQL) para o fluxo de trabalho e clique em Choose (Escolher). (Você pode selecionar uma consulta existente ou criar uma nova consulta.)
  4. Selecione Create New Query Activity (Criar nova atividade de consulta).
  5. Adicione propriedades de consulta: nome, chave externa, localização da pasta e descrição.
  6. Então, crie sua consulta SQL.

Maggie usa esta consulta. 

SELECT
 c.EmailAddress, c.CustomerID, c.First_Name
FROM
 Customers c
INNER JOIN
 Purchases p
ON
 c.CustomerID = p.CustomerID
WHERE
 [Purchase Date] > DateAdd(month, -6, GetDate())
AND
 [Open Date] > DateAdd(month, -6, GetDate())
Observação

Extensões de dados e nomes de campos com espaços em seus nomes precisam ser colocados entre colchetes [  ].

Depois de concluir, ela segue os passos restantes.

  1. Clique em Validate Syntax (Validar sintaxe).
  2. Escolha a extensão de dados criada para armazenar os resultados da consulta.
  3. Escolha a ação de dados que a atividade de consulta realiza: Append (Anexar), Update (Atualizar), ou Overwrite (Substituir).
  4. Clique em Save (Salvar).

Com tuto pronto, Maggie executa a automação. 

Consultas SQL comuns

Contas pai

Você pode consultar extensões de dados na pasta Shared Data Extension (Extensão de dados compartilhada) da conta pai adicionando o prefixo ent. ao nome da extensão de dados na consulta. 

SELECT
 EmailAddress
FROM
 ent.MasterDataExtension

Todos os dados

Às vezes você quer tudo.

SELECT
 *
FROM
 MasterDataExtension

Use SELECT * (Selecionar) com muito cuidado pois isso pode causar lentidão no sistema por estar processando uma grande quantidade de dados. Quanto maior o conjunto de dados, maior tempo e esforço o sistema terá de usar para obter os dados. O tempo limite das consultas expira após 30 minutos e, quanto mais dados forem processados, maior será a probabilidade de a consulta atingir o tempo limite. Para ajudar com isso, é mais eficaz fornecer os campos exatos que você procura na consulta. 

SELECT
 field1, field2, field3
FROM
 MasterDataExtension

SQL é algo que você pode passar anos aprimorando, mas por enquanto você sabe o básico. Esperamos que você (e seus dados) estejam bem confortáveis em sua nova casa. E mal podemos esperar para ver o que você conseguirá com o poder dos seus dados do Marketing Cloud Engagement. 

Recursos

Compartilhe seu feedback do Trailhead usando a Ajuda do Salesforce.

Queremos saber sobre sua experiência com o Trailhead. Agora você pode acessar o novo formulário de feedback, a qualquer momento, no site Ajuda do Salesforce.

Saiba mais Continue compartilhando feedback