

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Criar consultas com o Amazon Redshift
<a name="query-editor-v2-query-run"></a>

Você pode inserir uma consulta no editor ou selecionar uma consulta salva na lista **Queries** (Consultas) e escolha **Run** (Executar).

Por padrão, é definido **Limit 100** para limitar os resultados a 100 linhas. É possível desativar essa opção para retornar um conjunto de resultados maior. Se você desativar essa opção, poderá incluir a opção LIMIT na instrução SQL para evitar conjuntos de resultados muito grandes. Para obter mais informações, consulte [cláusula ORDER BY](https://docs.aws.amazon.com/redshift/latest/dg/r_ORDER_BY_clause.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*.

Para exibir um plano de consulta na área de resultados, ative **Explain** (Explicar). Ative **Explain graph** (Explicar grafo) para que os resultados também exibam uma representação gráfica do plano de explicação.

Para salvar uma consulta na pasta **Queries** (Consultas), escolha **Save** (Salvar).

Se a consulta for bem-sucedida, será exibida uma mensagem de sucesso. Se a consulta retornar informações, os resultados serão exibidos na seção **Results** (Resultados). Se o número de resultados exceder a área de exibição, os números serão visualizados na parte superior da área de resultados. É possível escolher os números para exibir sucessivas páginas de resultados.

Você pode filtrar e classificar **Result** (Resultado) para cada coluna. Para inserir critérios de filtro no cabeçalho da coluna de resultados, passe o mouse sobre a coluna para ver um menu (![Filter menu](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/images/menu.png)) onde é possível inserir critérios para filtrar a coluna.

Se a consulta contiver um erro, o editor de consultas v2 exibirá uma mensagem de erro na área de resultados. A mensagem fornece informações sobre como corrigir a consulta.

Você pode exportar ou copiar os resultados da consulta usando o menu de contexto (clique com o botão direito do mouse) na área de resultados da seguinte forma:
+ Escolha **Copiar para** e **JSON** ou **CSV** para baixar as linhas selecionadas em um arquivo.
+ Escolha **Copiar linhas** para copiar as linhas selecionadas para a área de transferência.
+ Escolha **Copiar linhas com cabeçalhos** para copiar as linhas selecionadas com os cabeçalhos de coluna para a área de transferência.

Na área de resultados, você pode escolher **Exportar** e selecione **JSON** ou **CSV** para baixar o conjunto completo de resultados de linha em um arquivo. O número de linhas no conjunto de resultados pode ser limitado pela opção **Limit** (Limitar) ou pela cláusula `limit` do SQL na consulta. O tamanho máximo do conjunto de resultados baixado é de 5 MB.

Você também pode usar o atalho Ctrl\+C no Windows ou Cmd\+C no macOS para copiar os dados da página de resultados atual para a área de transferência. Se nenhuma linha for selecionada, a célula com foco será copiada para a área de transferência. Se as linhas estiverem selecionadas, elas serão copiadas para a área de transferência.

Para adicionar uma nova guia de consulta, escolha o ícone ![New query tab](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/images/add-plus.png) e **Editor**, que aparece na linha com as guias de consulta. A guia de consulta pode ou não estar usando uma `Isolated session`. Com uma sessão isolada, os resultados de um comando SQL que altera o banco de dados, como a criação de uma tabela temporária em uma guia do editor, não são visíveis em outra guia. Quando você abre uma guia no editor de consultas v2, o padrão é uma sessão isolada. 

**Para executar uma consulta**

1. Na área de consulta, siga um destes procedimentos:
   + Insira uma consulta.
   + Cole uma consulta que você copiou.
   + Selecione a pasta **Queries** (Consultas) abra o menu de contexto (clique com o botão direito do mouse) em uma consulta salva e escolha **Open query** (Abrir consulta).

1. Confirme se escolheu o valor correto de **Cluster** ou **Workgroup** (Grupo de trabalho) e de **Database** (Banco de dados) para o SQL que você pretende executar. 

   Inicialmente, é possível escolher seu **Cluster** ou **WorkGroup** (Grupo de trabalho) na exibição de árvore. Selecione **Database** (Banco de dados) na exibição de árvore também.

   Você pode alterar o **cluster** ou o **grupo de trabalho** e o **banco de dados** dentro de cada guia do editor com o controle suspenso localizado próximo ao cabeçalho **Sessão isolada** de cada guia do editor.

   Em cada guia do editor, você escolhe se deseja executar SQL em uma **sessão isolada**. A sessão isolada tem sua própria conexão com um banco de dados. Use-a para executar SQL isolado de outras sessões do editor de consultas. Para obter mais informações sobre conexões, consulte [Abrir o editor de consultas v2](query-editor-v2-open.md).

1. Escolha **Executar**.

   A área **Result** (Resultado) é aberta e exibe os resultados da consulta.

**Para exibir o plano de explicação de uma consulta**

1. Selecione a consulta.

1. Ative **Explain** (Explicar).

   Por padrão, **Explain graph** (Explicar gráfico) também está ativado.

1. Escolha **Executar**.

   A consulta é executada, e o plano de explicação é exibido na área **Result** (Resultado) da consulta.

O editor de consultas v2 oferece suporte aos seguintes recursos:
+ É possível criar consultas com várias instruções SQL em uma guia de consulta. As consultas são executadas em série, e várias guias de resultados são abertas para cada consulta. 
+ É possível criar consultas com variáveis de sessão e tabelas temporárias.
+ Você pode criar consultas com parâmetros substituíveis designados por `${{{parameter}}}`. Crie sua consulta SQL com vários parâmetros substituíveis e usar o mesmo parâmetro em vários lugares na instrução SQL. 

  Quando a consulta é executada, uma janela para inserção do valor do parâmetro é apresentada. Toda vez que você executa a consulta, a janela é exibida para a inserção dos valores dos parâmetros. 

  Para ver um exemplo, consulte [Exemplo: vendas maiores que um parâmetro específico](#query-editor-v2-example-sales-qtysold-greater-than-parameter). 
+ As consultas são versionadas automaticamente. É possível escolher uma versão anterior de uma consulta a ser executada.
+ Para continuar com seu fluxo de trabalho, não é necessário esperar que uma consulta seja concluída. Suas consultas continuam sendo executadas, mesmo se você fechar o editor de consultas.
+ Ao criar consultas, é possível usar o recurso de preenchimento automático de nomes de esquema, tabela e coluna.

O editor SQL é compatível com os seguintes recursos:
+ Os colchetes inicial e final usados no SQL têm cores correspondentes. Linhas verticais são mostradas no editor para ajudar a combinar os colchetes.
+ É possível recolher e expandir seções do SQL. 
+ É possível pesquisar e substituir texto no SQL.
+ É possível usar teclas de atalho para várias tarefas comuns de edição.
+ Os erros de SQL são realçados no editor para localização conveniente das áreas problemáticas.

Para ver uma demonstração dos recursos do editor, assista ao vídeo a seguir. 

[![AWS Videos](http://img.youtube.com/vi/9JAq0yDs0YE/0.jpg)](http://www.youtube.com/watch?v=9JAq0yDs0YE)


## Exemplos de consulta
<a name="query-editor-v2-examples"></a>

A seguir, você encontra descrições dos vários tipos de consultas que é possível executar. 

Os dados usados em várias dessas consultas são do esquema de exemplo `tickit`. Para obter mais informações sobre como carregar os dados de amostra de `tickit`, consulte [Carregar dados em um banco de dados](query-editor-v2-loading.md). Para obter informações sobre dados de amostra de `tickit`, consulte [Banco de dados de exemplo](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*.

Ao executar essas consultas de exemplo, confirme se escolheu o banco de dados correto no editor, como `sample_data_dev`.

**Topics**
+ [Exemplo: definir variáveis de sessão](#query-editor-v2-example-set-session-variable)
+ [Exemplo: principal evento por total de vendas](#query-editor-v2-example-top-event-sales)
+ [Exemplo: vendas maiores que um parâmetro específico](#query-editor-v2-example-sales-qtysold-greater-than-parameter)
+ [Exemplo: criar uma tabela temporária](#query-editor-v2-example-create-temporary-table)
+ [Exemplo: selecionar de uma tabela temporária](#query-editor-v2-example-select-from-temporary-table)

### Exemplo: definir variáveis de sessão
<a name="query-editor-v2-example-set-session-variable"></a>

O comando a seguir define o parâmetro de configuração do servidor `search_path` para *público* para a sessão. Para obter mais informações, consulte [SET](https://docs.aws.amazon.com/redshift/latest/dg/r_SET.html) e [search\_path](https://docs.aws.amazon.com/redshift/latest/dg/r_search_path.html) no *Guia do desenvolvedor de banco de dados do Amazon Redshift*. 

```
set search_path to public;
```

### Exemplo: principal evento por total de vendas
<a name="query-editor-v2-example-top-event-sales"></a>

A consulta a seguir localiza o evento com mais vendas. 

```
select eventname, count(salesid) totalorders, sum(pricepaid) totalsales
from sales, event
where sales.eventid=event.eventid
group by eventname
order by 3;
```

Veja a seguir uma lista parcial dos resultados.

```
eventname           totalorders       totalsales
White Christmas         20              9352
Joshua Radin            38             23469
Beach Boys              58             30383
Linda Ronstadt          56             35043
Rascal Flatts           76             38214
Billy Idol              67             40101
Stephenie Meyer         72             41509
Indigo Girls            57             45399
...
```

### Exemplo: vendas maiores que um parâmetro específico
<a name="query-editor-v2-example-sales-qtysold-greater-than-parameter"></a>

A consulta a seguir localiza vendas em que a quantidade vendida é maior que o parâmetro especificado por `${numberoforders}`. Quando o valor do parâmetro é `7`, o resultado é de 60 linhas. Quando você executa a consulta, o editor de consultas v2 exibe uma janela **Run query form** (Executar um formulário de consulta) para reunir o valor dos parâmetros na instrução SQL. 

```
select salesid, qtysold
from sales 
where qtysold > ${numberoforders}
order by 2;
```

Veja a seguir uma lista parcial dos resultados.

```
salesid	qtysold
20005	8
21279	8
130232	8
42737	8
74681	8
67103	8
105533	8
91620	8
121552	8
...
```

### Exemplo: criar uma tabela temporária
<a name="query-editor-v2-example-create-temporary-table"></a>

A instrução a seguir cria a tabela temporária *eventsalestemp* selecionando informações das tabelas *sales* e *event*. 

```
create temporary table eventsalestemp as
select eventname, count(salesid) totalorders, sum(pricepaid) totalsales
from sales, event
where sales.eventid=event.eventid
group by eventname;
```

### Exemplo: selecionar de uma tabela temporária
<a name="query-editor-v2-example-select-from-temporary-table"></a>

A declaração a seguir seleciona eventos, total de pedidos e total de vendas da tabela temporária *eventsalestemp*, ordenada pelo total de pedidos. 

```
select eventname,  totalorders,  totalsales
from eventsalestemp
order by 2;
```

Veja a seguir uma lista parcial de resultados.

```
eventname          totalorders   totalsales
White Christmas        20          9352
Joshua Radin           38         23469
Martina McBride        50         52932
Linda Ronstadt         56         35043
Indigo Girls           57         45399
Beach Boys             58         30383
...
```