Skip to main content

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 exibições de dados no Automation Studio para visualizar dados de cliques e aberturas de emails da sua conta do Marketing Cloud Engagement.
Ajuda a identificar oportunidades adicionais de mensagens, indicando o envolvimento 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 reclamações dos últimos 6 meses e fornece SubscriberKey, JobIDs e motivos de 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