Ecrire une requête dans le générateur de requêtes

Les requêtes permettent de sélectionner un sous-ensemble d'entités et des enregistrements de table. Toutes les expressions de requête dans ArcGIS Pro utilisent le langage SQL (Structured Query Language) pour formuler ces spécifications de recherche.

Utilisez le générateur de requêtes pour créer des requêtes. Vous avez accès au générateur de requêtes à plusieurs occasions, notamment :

Créer des requêtes

Vous pouvez créer des requêtes en mode natif en saisissant une syntaxe SQL, ou créer une requête de manière interactive en sélectionnant des composants. L’écriture d’une syntaxe SQL vous donne accès à toutes les fonctionnalités SQL. Pour écrire une requête en syntaxe SQL, cliquez sur le bouton de bascule SQL pour passer en mode SQL.

Générer une requête de manière interactive

Dans le mode par défaut du générateur de requêtes, vous pouvez générer une requête en faisant des sélections dans des menus déroulants dont les options sont renseignées et préfiltrées en fonction du type de champ choisi. Ce mode présente notamment les avantages suivants :

  • Vous pouvez créer des requêtes SQL valides, quelle que soit la source de données.
  • Vous pouvez générer des requêtes courantes sans connaître préalablement le langage SQL.
  • Les opérateurs conditionnels sont filtrés en fonction du type de champ que vous avez choisi.
  • Il est facile d'appliquer un regroupement en vue d'améliorer l'ordre de vos opérations.

Ce mode est parfaitement adapté à la création de requêtes avec des champs de type chaîne, numérique et date, mais il est limité aux types de requêtes que vous pouvez créer. Pour écrire une requête sans restriction, utilisez plutôt le mode SQL. Vous pouvez commencer à créer une clause en mode interactif, puis cliquer sur le bouton de bascule SQL pour l’afficher dans sa syntaxe SQL native. Vous pouvez utiliser cette syntaxe comme base pour préciser la clause à votre convenance. À noter que, si la syntaxe SQL que vous ajoutez n’est pas prise en charge par le mode interactif, vous risquez de ne plus pouvoir y revenir ensuite.

Pour en savoir plus sur l’utilisation du mode interactif, reportez-vous à la rubrique Créer et modifier des requêtes.

Créer une requête en écrivant une syntaxe SQL

Si vous maîtrisez bien la syntaxe SQL, vous préférerez peut-être créer et gérer les requêtes en mode SQL. Cliquez sur le bouton de bascule SQL pour passer en mode SQL. Le mode SQL présent notamment les avantages suivants :

  • Vous pouvez écrire des requêtes sans restriction.
  • Vous pouvez tirer profit des suggestions automatiques. Au fur et à mesure de votre saisie, une invite présentant uniquement les mots-clés et les opérateurs pris en charge par votre source de données apparaît.
  • Eléments avec code couleur qui vous aident à vérifier visuellement ou modifier votre requête.

Syntaxe SQL

En mode SQL, il est impératif d’employer la syntaxe SQL correcte dans l’élaboration d’une requête de sorte que la source de données détermine exactement quels enregistrements renvoyer. Il n’est pas nécessaire de délimiter les champs avec des caractères spéciaux. Pour plus d’informations sur la rédaction de requêtes SQL, consultez le guide de référence SQL.

Les requêtes sont soit simples, soit composées :

  • Une requête simple contient une seule clause, par exemple STATE_NAME = 'Alabama'. Cette requête sélectionne toutes les entités contenant le texte Alabama dans le champ STATE_NAME.

  • Une requête composée comprend plusieurs clauses reliées par un opérateur logique, AND ou OR. Vous pouvez également ajouter des parenthèses autour des clauses dans les requêtes composées pour définir l'ordre des opérations.

    Par exemple, STATE_NAME = 'Alabama' OR (STATE_NAME = 'Wyoming' AND POP2000 > 10000) sélectionne toutes les entités contenant Alabama dans le champ STATE_NAME, ainsi que toutes les entités qui contiennent Wyoming dans le champ STATE_NAME et dont la valeur du champ 10,000 est supérieure à POP2000.

Si vous utilisez souvent des bases de données, il est possible que vous connaissiez déjà le langage SQL et que vous soyez habitué à l'instruction SELECT et à la clause WHERE, ses deux aspects principaux :

  • L'instruction SELECT permet de sélectionner des champs dans une couche ou une table.
  • La clause WHERE permet d'obtenir des enregistrements qui répondent à des critères précis.

Vous devez fournir la clause WHERE et choisir les critères qui sont importants pour votre requête. Avec le générateur de requêtes, vous fournissez uniquement la clause WHERE lorsque vous souhaitez inclure des sous-requêtes. Les sous-requêtes sont des requêtes imbriquées dans une autre requête.

La syntaxe SQL que vous utilisez varie selon la source de données. Chaque système de gestion de base de données (SGBD) possède son propre dialecte SQL. Pour interroger des données basées sur des fichiers, y compris les géodatabases fichier, les fichiers de formes, les tables dBASE, ainsi que les données DAO et VPF, utilisez le dialecte SQL ArcGIS qui gère un sous-ensemble de fonctionnalités SQL. Pour accéder à une géodatabase d’entreprise ou l’interroger, vous devez utiliser la syntaxe SQL du système de gestion de base de données (SGBD) sous-jacent.

Rubriques connexes


Dans cette rubrique
  1. Créer des requêtes