

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Création de requêtes avec Amazon Redshift
<a name="query-editor-v2-query-run"></a>

Vous pouvez saisir une requête dans l’éditeur ou sélectionner une requête enregistrée dans la liste **Queries (Requêtes)** et choisir **Run (Exécuter)**.

Par défaut, **Limit 100 (Limite de 100)** est défini pour limiter les résultats à 100 lignes. Vous pouvez désactiver cette option pour renvoyer un ensemble de résultats plus important. Si vous désactivez cette option, vous pouvez inclure l’option LIMIT dans votre instruction SQL, si vous souhaitez éviter des ensembles de résultats très volumineux. Pour plus d’informations, consultez [ORDER BY clause (Clause ORDER BY)](https://docs.aws.amazon.com/redshift/latest/dg/r_ORDER_BY_clause.html) dans le *Guide du développeur de bases de données Amazon Redshift*.

Pour afficher un plan de requête dans la zone de résultats, activez **Explain (Expliquer)**. Activez **Explain graph** (Graphique d’explication) pour que les résultats affichent également une représentation graphique du plan d’explication.

Pour enregistrer une requête dans le dossier **Queries (Requêtes)**, choisissez **Save (Enregistrer)**.

Dans le cas d’une requête réussie, un message de réussite s’affiche. Si la requête renvoie des informations, les résultats s’affichent dans la section **Results (Résultats)**. Si le nombre de résultats dépasse la zone d’affichage, les chiffres apparaissent en haut de cette dernière. Vous pouvez choisir les chiffres pour afficher les pages de résultats successives.

Vous pouvez filtrer et trier **Result (Résultat)** pour chaque colonne. Pour entrer des critères de filtre dans l’en-tête de la colonne de résultats, survolez la colonne pour afficher un menu (![\[Filter menu\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/menu.png)) où vous pouvez saisir des critères pour filtrer la colonne.

Si la requête contient une erreur, l’éditeur de requête v2 affiche un message d’erreur dans la zone de résultats. Le message fournit des informations sur la façon de corriger la requête.

Vous pouvez exporter ou copier les résultats de votre requête en utilisant le menu contextuel (clic droit) dans la zone des résultats comme suit :
+ Choisissez **Copier vers** et choisissez **JSON** ou **CSV** pour télécharger les lignes sélectionnées dans un fichier.
+ Choisissez **Copier les lignes** pour copier les lignes sélectionnées dans le presse-papiers.
+ Choisissez **Copier les lignes avec les en-têtes** pour copier les lignes sélectionnées avec les en-têtes de colonne dans le presse-papiers.

Vous pouvez aussi choisir **Exporter** dans la zone des résultats, puis choisir soit **JSON** soit **CSV** pour télécharger l’ensemble des résultats de lignes dans un fichier. Le nombre de lignes dans l’ensemble de résultats peut être limité par l’option **Limit** (Limiter) ou la clause SQL `limit` de la requête. La taille maximale de l’ensemble de résultats téléchargés est de 5 Mo.

Vous pouvez également utiliser le raccourci Ctrl\$1C sur Windows ou Cmd\$1C sur macOS pour copier les données de la page de résultats actuelle dans le presse-papiers. Si aucune ligne n’est sélectionnée, la cellule sur laquelle vous vous concentrez est copiée dans le presse-papiers. Si des lignes sont sélectionnées, alors les lignes sélectionnées sont copiées dans le presse-papiers.

Pour ajouter un nouvel onglet de requête, choisissez l’icône ![\[New query tab\]](http://docs.aws.amazon.com/fr_fr/redshift/latest/mgmt/images/add-plus.png), puis **Editor** (Éditeur), qui apparaît sur la ligne avec les onglets de requête. L’onglet de requête utilise une `Isolated session` ou pas. Avec une session isolée, les résultats d’une commande SQL, telle que la création d’une table temporaire dans un onglet de l’éditeur, ne sont pas visibles dans un autre onglet de l’éditeur. Lorsque vous ouvrez un onglet d’éditeur dans l’éditeur de requête v2, l’option par défaut est une session isolée. 

**Pour exécuter une requête**

1. Dans la zone de requête, effectuez l’une des actions suivantes :
   + Saisissez une requête.
   + Collez une requête que vous avez copiée.
   + Cliquez sur l’onglet **Queries (Requêtes)**, ouvrez le menu contextuel (clic droit) d’une requête enregistrée et choisissez **Open query (Ouvrir la requête)**.

1. Confirmez que vous avez choisi les valeurs **Cluster** ou **Workgroup** (Groupe de travail) et **Database** (Base de données) correctes du SQL que vous prévoyez d’exécuter. 

   Pour commencer, vous pouvez choisir **Cluster** ou **Workgroup** (Groupe de travail) dans l’arborescence. Choisissez également votre **Database** (Base de données) dans l’arborescence.

   Vous pouvez modifier les paramètres **Cluster** ou **Groupe de travail**, et **Base de données** dans chaque onglet de l’éditeur avec la liste de contrôles déroulante située à côté de l’en-tête **Session isolée** de chaque onglet de l’éditeur.

   Pour chaque onglet de l’éditeur, vous choisissez d’exécuter ou non le code SQL dans une **Isolated session** (Session isolée). Une session isolée possède sa propre connexion à une base de données. Utilisez-la pour exécuter du code SQL isolé des autres sessions de l’éditeur de requête. Pour plus d’informations sur les connexions, consultez [Ouverture de l’éditeur de requête v2](query-editor-v2-open.md).

1. Cliquez sur **Exécuter**.

   La zone **Result (Résultat)** s’ouvre et affiche les résultats de la requête.

**Pour afficher le plan d’explication d’une requête**

1. Sélectionnez la requête.

1. Activez **Explain (Expliquer)**.

   Par défaut, l’option **Explain graph (Graphique d’explication)** est également activée.

1. Cliquez sur **Exécuter**.

   La requête s’exécute et le plan d’explication s’affiche dans la zone **Result (Résultat)** de la requête.

L’éditeur de requête v2 prend en charge les fonctionnalités suivantes :
+ Vous pouvez créer des requêtes avec plusieurs instructions SQL dans un onglet de requête. Les requêtes sont exécutées en série et plusieurs onglets de résultats s’ouvrent pour chaque requête. 
+ Vous pouvez créer des requêtes avec des variables de séance et des tables temporaires.
+ Vous pouvez créer des requêtes avec des paramètres remplaçables désignés par `${parameter}`. Vous pouvez créer votre requête SQL avec plusieurs paramètres remplaçables et utiliser le même paramètre à plusieurs endroits de votre instruction SQL. 

  Lorsque la requête s’exécute, une fenêtre s’affiche pour saisir la valeur du paramètre. Chaque fois que vous exécutez la requête, la fenêtre s’affiche pour entrer les valeurs de vos paramètres. 

  Pour obtenir un exemple, consultez [Exemple : ventes supérieures à un paramètre spécifique](#query-editor-v2-example-sales-qtysold-greater-than-parameter). 
+ Les requêtes sont versionnées automatiquement. Vous pouvez choisir une version antérieure d’une requête à exécuter.
+ Vous n’avez pas besoin d’attendre la fin d’une requête avant de poursuivre votre flux de travail. Vos requêtes continuent de s’exécuter, même si vous fermez l’éditeur de requête.
+ Lors de la création de requêtes, l’achèvement automatique des noms de schéma, de table et de colonne est pris en charge à l’aide d’un raccourci.

L’éditeur SQL prend en charge les fonctionnalités suivantes :
+ Les crochets de début et de fin utilisés dans SQL ont des couleurs identiques. Des lignes verticales sont affichées dans l’éditeur pour vous aider à faire correspondre les crochets.
+ Vous pouvez réduire et développer des sections de votre code SQL. 
+ Vous pouvez rechercher et remplacer du texte dans votre SQL.
+ Vous pouvez utiliser les touches de raccourci pour plusieurs tâches d’édition courantes.
+ Les erreurs SQL sont mises en surbrillance dans l’éditeur pour faciliter la localisation des zones problématiques.

Pour une démonstration des fonctionnalités de l’éditeur, regardez la vidéo suivante. 

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


## Exemples de requêtes
<a name="query-editor-v2-examples"></a>

Vous trouverez ci-après les descriptions des différents types de requêtes que vous pouvez exécuter. 

Les données utilisées dans bon nombre de ces requêtes proviennent de l’exemple de schéma `tickit`. Pour plus d’informations sur le chargement des exemples de données `tickit`, consultez [Chargement de données dans une base de données](query-editor-v2-loading.md). Pour plus d’informations sur les exemples de données `tickit`, consultez [Exemple de base de données](https://docs.aws.amazon.com/redshift/latest/dg/c_sampledb.html) dans le *Guide du développeur de base de données Amazon Redshift*.

Lorsque vous exécutez ces exemples de requêtes, confirmez que vous choisissez la base de données appropriée dans l’éditeur, telle que `sample_data_dev`.

**Topics**
+ [Exemple : définition de variables de séance](#query-editor-v2-example-set-session-variable)
+ [Exemple : événement le plus important par ventes totales](#query-editor-v2-example-top-event-sales)
+ [Exemple : ventes supérieures à un paramètre spécifique](#query-editor-v2-example-sales-qtysold-greater-than-parameter)
+ [Exemple : créer une table temporaire](#query-editor-v2-example-create-temporary-table)
+ [Exemple : sélection à partir d’une table temporaire](#query-editor-v2-example-select-from-temporary-table)

### Exemple : définition de variables de séance
<a name="query-editor-v2-example-set-session-variable"></a>

La commande suivante définit le paramètre de configuration du serveur `search_path` sur *public* pour la séance. Pour plus d’informations, consultez [SET](https://docs.aws.amazon.com/redshift/latest/dg/r_SET.html) et [search\$1path](https://docs.aws.amazon.com/redshift/latest/dg/r_search_path.html) dans le *Guide du développeur de bases de données Amazon Redshift*. 

```
set search_path to public;
```

### Exemple : événement le plus important par ventes totales
<a name="query-editor-v2-example-top-event-sales"></a>

La requête suivante recherche l’événement ayant le plus de ventes. 

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

Voici une liste partielle des résultats.

```
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
...
```

### Exemple : ventes supérieures à un paramètre spécifique
<a name="query-editor-v2-example-sales-qtysold-greater-than-parameter"></a>

La requête suivante recherche les ventes dont la quantité vendue est supérieure au paramètre spécifié par `${numberoforders}`. Lorsque la valeur du paramètre est `7`, le résultat est de 60 lignes. Lorsque vous exécutez la requête, l’éditeur de requête v2 affiche une fenêtre **Run query form (Exécuter un formulaire de requête)** pour rassembler la valeur des paramètres dans l’instruction SQL. 

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

Voici une liste partielle des résultats.

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

### Exemple : créer une table temporaire
<a name="query-editor-v2-example-create-temporary-table"></a>

L’instruction suivante crée la table temporaire *eventsalestemp* en sélectionnant des informations dans les tables *sales (ventes)* et *event (événement)*. 

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

### Exemple : sélection à partir d’une table temporaire
<a name="query-editor-v2-example-select-from-temporary-table"></a>

L’instruction suivante sélectionne les événements, le total des commandes et le total des ventes à partir de la table temporaire *eventsalestemp*, ordonnés par nombre total de commandes. 

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

Voici une liste partielle de résultats :

```
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
...
```